1、数据结构教学大纲 78111个人总结 数据结构教学大纲课程名称数据结构先修课程计算机应用基础、C 语言或 C+语言本课程的地位、作用、内容、任务和教学中的注意问题1、地位:数据结构是计算机专业(包括计算机软件技术、计算机应用技术等专业)的主干课、专业基础课、必修课程,是介于数学,计算机硬件和计算机软件三者之间的一门核心课程。2、作用:计算机应用软件和高级语言程序设计都要用到各种数据结构。语言编译要使用栈、散列表以及语法树;操作系统中用队列、存储管理表及目录树等;数据库系统运用线型表、多链表及索引表进行数据管理等等。3、主要内容:介绍用计算机解决一系列问题特别是非数值信息处理问题时所用的各种组织
2、数据的方法、存储数据结构的方法以及在各种结构上执行操作的算法。4、教学任务:通过本课程的学习,要求学生掌握各种数据结构的特点、存储表示、运算方法以及在计算机科学中最基本的应用。培养、训练学生选用合适的数据结构和编写质量高、风格好的应用程序的能力,培养学生分析问题、解决问题的能力。并为后续课程的学习打下良好的理论基础和实践基础。5 教学中的注意问题:数据结构是一门实践性较强的课程,因此在教学过程中要理论联系实际,多采用实例教学,多上机实验,注重学生实践技能的培养。学时分配表章节序号教学 学时 环节名称课 堂讲 授实 验其它课 程设 计小计1绪论442线性表6283栈和队列4264串4265数组和
3、广义表6286树122147图82108排序4269查找42610文件44合 计561672考核方法与考试题型 一、 考核方法1平时成绩:作业成绩、出勤、上机实践占 30%。2期中考试成绩占 30%。3. 期末考试成绩占 40%4综合考核成绩平时成绩0.3+期中考试成绩0.3期末考试成绩0.4。二、 考试题型选择题、填空题、简答题、程序阅读题、算法设计题。教材与主要参考书使用教材:黄刘生编著,数据结构,经济科学出版社 第二版 2000.8参考书:严蔚敏,吴伟民编著,数据结构(C 语言版) ,清华大学出版社,2001许卓群等,数据结构,高等教育出版社,第一版,1988教学要求本大纲所述内容前标有
4、符号“为重点内容,标有符号“为难点内容, 同时标有“、“的表示即是重点,又是难点。第一章 绪论一、教学目的了解学习数据结构的重要性,掌握数据结构的定义及相关概念和术语,算法及其效率的度量方法。二、教学内容1.1 什么是数据结构(了解)1.2 基本概念和术语数据、数据元素、数据对象(理解)数据结构的定义、逻辑结构、物理结构(理解)数据类型、抽象数据类型(理解)1.3 抽象数据类型的表示与实现(了解)1.4 算法和算法分析算法的概念、算法设计的要求(了解) 算法效率的度量(掌握)三、思考题1.试举数据结构例子,叙述其逻辑结构、存储结构、运算这三个方面的内容;2.算法的时间复杂度仅与问题的规模有关吗
5、?第二章 线性表一、教学目的掌握线性表的定义,以及线性表的顺序、链式表示和实现。二、教学内容2.1 线性表的类型定义线性表的定义、 (掌握)数据项、纪录、文件(了解)抽象数据类型线性表(了解)2.2 线性表顺序表示和实现(掌握)2.3 线性表的链式表示和实现 单链表、循环链表、双向链表(熟练掌握)三、 思考题算法设计:假设以带头结点单链表的类型定义如下:typedef struct nodeDataType data;Struct node *next;LinkNode,*LinkList;编写算法,从单链表 L中删除所有元素值为 x的结点。四、 实训内容顺序表和单链表的操作验证。第三章 栈和
6、队列一、教学目的掌握栈和队列的数据类型抽象定义,栈和队列的表示和实现,以及递归算法。二、教学内容3.1 栈栈的定义(掌握)栈的表示和实现(掌握)递归算法(了解)3.2 队列队列的定义(掌握) 链队列(掌握)3.2 栈和队列的应用(综合应用)三、思考题设计算法:输入一个正整数,输出其对应的二进制。五、 实训内容栈和队列的操作验证。第四章 串一、教学基本要求了解串的含义,掌握串的定长表示和块链式存储表示。二、教学内容4.1 串类型的定义(掌握)4.2 串的表示和实现定长顺序存储表示(掌握) 串的块连存储表示(掌握)三、思考题利用 C的库函数 strlen,strcpy和 strcat写一算法 vo
7、id StrInsert(char*s,int t,int i),将串 t插入到串 s的第 i个位置上。若 i大于 s的长度,则插入不执行。四、实训内容串的运算验证。第五章 数组和广义表一、教学目的了解数组的定义和矩阵的压缩存储,掌握数组的顺序表示和实现;了解广义表的定义,掌握广义表的存储结构及简单应用。二、教学内容5.1 数组的定义(掌握)个人总结 5.2 数组的顺序表示和实现(熟练掌握)5.3 矩阵的压缩存储(理解)5.4 广义表的定义(了解)5.5 广义表的存储结构(掌握)三、思考题广义表和线性表有何区别和联系?第六章 树和二叉树一、教学目的了解树在表达现实世界中的作用;了解树、森林及二
8、叉树的基本概念。掌握树的存储结构,二叉树的遍历算法。二、教学内容6.1 树的定义和基本术语树、子树(了解)与树有关的概念(了解)6.2 二叉树二叉树的定义(了解)二叉树的性质(熟练掌握)二叉树的存储结构(熟练掌握)遍历二叉树(综合应用)三、思考题以二叉链表为存储结构,写一算法交换各结点的左右子树四、实训内容二叉树的遍历。第七章 图一、教学目的了解图的定义及表示,掌握图的存储结构及遍历算法。二、教学内容7.1 图的定义和术语(了解)7.2 图的存储结构(掌握)数组表示(掌握)邻接表(掌握)7.3 图的遍历深度优先搜索(综合应用) 广度优先搜索(综合应用)三、思考题假设一棵完全二叉树包含 A,B,
9、.,G等七个结点,写出其邻接表和邻接矩阵。第八章 排序一、教学目的了解排序基本概念和作用,掌握插入排序、快速排序的原理和方法。二、教学内容8.1 概述排序的概念(了解)内部排序、外部排序(理解)8.2 插入排序直接插入排序(熟练掌握)其他插入排序(了解)8.3 快速排序起泡排序(熟练掌握)快速排序(熟练掌握)三、思考题以单链表作为存储结构实现直接插入排序算法。四、实训内容直接插入、选择排序算法的验证。第八章 查找一、教学目的了解查找基本概念和作用,掌握顺序查找、二分查找的方法,掌握二叉排序树的原理和应用二、教学内容9.1 概述查找的基本概念(了解)9.1 线性表的查找顺序查找、二分查找(熟练掌握)9.3 树上查找二叉排序树(掌握)三、思考题为什么对有序的单链表不能进行折半查找?四、实训内容顺序查找,折半查找算法的验证。第九章 文件一、教学基本要求了解文件的有关基本概念,掌握顺序文件、索引文件的存取算法。二、教学内容9.1 有关文件的基本概念文件、定长记录文件、不定长记录文件(了解)记录的逻辑结构和物理结构(了解)文件的操作(掌握)9.2 顺序文件(掌握)9.3 索引文件(掌握)9.4 ISAM 文件和 VSAM文件(了解)9.5 直接存取文件(理解)三、思考题常用的文件组织方式有哪几种?各有何特点?文件上的打操作有哪些?个人总结