1、数据结构教学大纲 教学课时:72 适用对象:计算机应用专业 先修课程:C 语言程序设计、Visual Basic 程序设计一、课程性质、目的课程性质:数据结构是计算机应用专业的主干课程之一,属于专业课。本课程是学习提高程序设计、学习数据库技术、进行应用系统开发的基础。课程目的:通过学习使学生了解客观数据及其联系,在计算机内部物理表示的特性及其存储结构,了解数据的逻辑结构与物理实现的区别;理解数据类型的概念;掌握线性表、栈与队列、树、二叉树、图等典型的数据结构,掌握典型内部排序算法和查找算法;通过对各种数据结构和算法的学习,能够为具体的问题选择适当的逻辑结构、存储结构及其相应的算法;为学习操作系
2、统、数据库等后序课程打好基础。本课程是学习计算机操作系统 、 数据库系统术 、以及今后进行软件开发工作的必修课。本课程共需 72 课时,其中54 课时讲授,18 课时上机,为实现。上机所用计算机语言为 C 语言。二、教学基本内容教学基本要求1. 知识要求 了解:数据结构、数据类型、抽象数据类型概念;算法和算法分析概念;树的定义、表示;分类、查找的基本概念;内部排序算法的效率分析。掌握:线性数据结构线性表、栈、队列、串的抽象类型描述方法和物理实现算法;二叉树的性质与存储,二叉树的遍历,树与二叉树的转换;最优二叉树;图的存储与遍历,拓扑排序;内部排序的算法与实现;折半查找与动态查找;Hash 表;
3、2.能力要求:简单应用:运用线性表结构解决实际问题,如高次多项式的存储,集合类型的实现;应用栈结构,如编制递归算法,解决汉诺塔问题;简单表达式的求解;拓扑排序。熟练应用:应用数据结构知识描述实际问题。第 1 章 绪论1.1 数据结构分析示例1.2 数据结构的基本概念1.2.1 什么是数据结构(了解)1.2.2 数据结构的图形表示1.2.3 线性数据结构与非线性数据结构1.3 算法分析的考虑1.3.1 什么是算法1.3.2 算法的复杂性1.3.3 算法描述性语言第 2 章 线性表及其顺序存储结构2.1 线性表的定义(掌握)2.2 栈及其应用2.3 队列及其应用2.4 字符串基本操作第 3 章 线
4、性链表3.1 线性链表的基本概念3.1.1 线性表的顺序存储问题3.1.2 线性链表3.1.3 带链的栈3.1.4 带链的队列3.2 线性链表的基本操作3.2.1 在线性链表中查找指定的元素3.2.2 线性链表的插入3.3.3 线性链表的删除3.3 循环链表3.4 多项式的表示与运算第 4 章 数组4.1 数组的定义与数组的顺序存储结构4.2 规则矩阵的压缩4.3 一般稀疏矩阵的表示4.3.1 稀疏矩阵的三列二维数组表示4.3.2 十字链表第 5 章 树和二叉树5.1 树的基本概念(掌握)5.2 二叉树及其基本性质(掌握)5.2.1 什么是二叉树(掌握)5.2.1 二叉树的基本性质(掌握)5.
5、2.3 满二叉树与完全二叉树5.3 二叉树的基本性质存储结构5.3.1 二叉树链表(了解)5.3.2 二叉树的生成5.4 二叉树的遍历(掌握)5.5 穿线二叉树5.6 表达式的线性化5.7 最优二叉树及其应用5.7.1 什么是最优二叉树5.7.2 最优二叉树的构造5.7.3 赫夫曼树及其应用(简单应用)第 6 章 图6.1 图的定义(掌握)6.2 图的存储结构(掌握)6.3 图的遍历6.3.1 深度优先搜索(掌握)6.3.2 广度优先搜索(掌握)6.4 最短距离问题第 7 章 查找技术7.1 顺序查找(掌握)7.2 折半查找(掌握)7.3 分块查找7.4 二叉树排序查找7.5 多层索引树查找第
6、 8 章 Hash 表技术8.1 Hash(哈希)表的基本概念什么是 Hash 表哈希函数的构造方法处理冲突的方法8.2 常用的几种哈希表(掌握)第 9 章 排序技术9.1 交换类排序9.1.1 冒泡排序(掌握)9.1.2 快速排序9.2 插入排序(掌握)简单插入排序希尔排序9.3 选择类排序9.4 拓扑分类9.5 其他排序方法简介归并排序(了解)基数排序三.实践环节序号相关理论内容实践内容 实践方式学时基本教学要求1 栈结构 应用栈对表达式处理,用 C 语言编程实现简单表达式的求值处理。上机 2 掌握栈结构的物理实现,应用栈解决实际问题。2 队列与栈 利用队列将递归的快速排序算法改为非递归上
7、机 2 简单应用线性表知识,解决实际问题。序号相关理论内容实践内容 实践方式学时基本教学要求3 单链表 链表的生成、插入、删除和排序 上机 2 掌握链表的常用操作4 二叉树 采用二叉链表结构建立二叉树、实现二叉树的遍历上机 2 掌握二叉树的存储与遍历算法5 图的存储 求最短路径与遍历 上机 2 掌握有向图的生成与求最短路径和遍历6 表、链表 顺序查找、二分查找 上机 2 使用多种技术进行查找,比较各种查找技术算法效率。7 Hash技术用内存模拟 Hash 方法,找较好的 Hash 函数与解决冲突的方法上机 2 实践 Hash 技术8 排序 简单选择排序、快速排序,并比较算法效率。上机 2 掌握选择排序、快速排序算法。9 排序 希尔排序、拓扑排序 上机 2 掌握希尔排序、拓扑排序总计 18四.学时分配学时分配章次 内 容 理论学时实践学时第一章 绪论 2 0第二章 线性表及其顺序存储结构 8 4第三章 线性链表 6 2第四章 数组 4 0第五章 树和二叉树 8 2第六章 图 6 2第七章 查找技术 6 2第八章 Hash 表技术 4 2第九章 排序技术 10 4总计 54 18撰稿人:钱国梁审定人:温绍洁 系主任:侯冬梅