第一章 绪论
[目的与要求]:
深刻理解数据结构的概念,掌握数据结构的要素;掌握数据元素的逻辑结构;掌握数据元素的存贮结构;理解数据结构与算法的联系;了解算法的效率及存贮空间的度量。
[本章主要内容]:
1.1 什么是数据结构
1.2 基本概念和术语
1.3 数据结构的发展简史及它在计算机科学中所处的地位
1.4 算法的描述和算法分析
1.4.1 算法的描述
1.4.2 算法设计的要求
1.4.3 算法效率的度量
1.4.4 算法的存储空间需求
[本章重点]:
1.基本概念和术语
2.算法的描述和算法分析
[本章难点]:
1.算法的描述和算法分析
第二章 线性表
[目的与要求]:
掌握线性表顺序存贮和链式存贮的特点;理解线性表的操作规律;了解线性表的应用。
[本章主要内容]:
2.1 线性表的逻辑结构
2.2 线性表的顺序存储结构
2.3 线性表链式存储结构
2.3.1 线性链表
2.3.2 循环链表
2.3.3 双向链表
2.4 一元多项式的表示及相加
[本章重点]:
1.几种常用链表的特点和运算
2.从不同角度比较线性表在顺序和链式两种存储结构的优缺点
[本章难点]:
1.几种常用链表的特点和运算
第三章 栈和队列
[目的与要求]:
掌握栈、队列的定义及其相关数据结构的概念;了解栈的特征;掌握栈的表示和实现方法;了解栈空间的共用和栈的应用;掌握队列的实现、链队列及其操作;理解顺序队列的假溢出;掌握循环队列的操作特点。
[本章主要内容]:
3.1 栈
3.1.1 抽象数据类型栈的定义
3.1.2 栈的表示和实现
3.2 表达式求值
3.4 队列
3.4.1 抽象数据类型队列的定义
3.4.2 链队列——队列的链式表示和实现
3.4.3 循环队列——队列的顺序表示和实现
[本章重点]:
1.顺序栈和链栈上的进栈和退栈的算法
2.在顺序队列上实现入队和出队的算法
[本章难点]:
1.顺序栈和链栈上的进栈和退栈的算法
2.在链队列上实现入队和出队的算法
第四章 树和叉树
[目的与要求]:
掌握树、二叉树的定义;掌握树、二叉树的存贮方法;掌握二叉树的先序、中序和后序遍历规则及算法;了解线索二叉树及其操作;掌握树和二叉树转换的唯一性、森林与二叉树的转换规则;掌握哈夫曼树及哈夫曼编码。
[本章主要内容]:
4.1 树的定义和基本操作
4.2 二叉树
4.2.1 二叉树的操作
4.2.2 二叉树的性质
4.2.3 二叉树的存储结构
4.3 遍历二叉树和线索二叉树
4.3.1 遍历二叉树
4.3.2 线索二叉树
4.4 树和森林
4.4.1 树的存储结构
4.4.2 森林与二叉树的转换
4.4.3 树的遍历
4.6 哈夫曼树及其应用
4.6.1 最优二叉树
4.6.2 哈夫曼编码
[本章重点]:
1.二叉树的性质与各种遍历算法
2.哈夫曼树
[本章难点]:
1.遍历二叉树和线索二叉树
2.哈夫曼树及其应用
第五章 图
[目的与要求]:
掌握图的基本概念,掌握图的存贮方法、图的深度优先算法和广度优先遍历规则及算法、最小生成树的构造、拓扑排序、关键路径和最短路径。
[本章主要内容]:
5.1 图的定义和术语
5.2 图的存储结构
5.2.1 数组表示法
5.2.2 邻接表
5.3 图的遍历
5.3.1 深度优先搜索
5.3.2 广度优先搜索
5.4 图的连通性问题
5.4.1 无向图的连通分量和生成树
5.4.3 最小生成树
5.5 有向无环图及其应用
5.5.1 拓朴排序
5.5.2 关键路径
[本章重点]:
1.图的存储结构
2.图的遍历
3.有向无环图及其应用
[本章难点]:
1.关键路径
2.最短路径
第六章 查找
[目的与要求]:
掌握顺序表的查找及其效率;理解折半查找的两个条件;掌握二叉树和平衡二叉树的构造、四种类型的不平衡调整;理解哈希函数与哈希表;掌握冲突与冲突的解决方法;掌握哈希表的插入与删除方法。会推导B-树的平均查找长度。
[本章主要内容]:
6.1 静态表的查找
6.1.1 有序表的查找
6.1.2 静态树表的查找
6.1.3 静态树表的查找
6.1.4 索引顺序表的查找
6.2 动态查找表
6.2.1 二叉排序树和平衡二叉树
6.3 哈希表
6.3.1 什么是哈希表
6.3.2 哈希函数的构造方法
6.3.3 处理冲突的方法
6.3.4 哈希表的查找及其分析
[本章重点]:
1.静态表
2.哈希表
[本章难点]:
1.动态表
第七章 内部排序
[目的与要求]:
理解排序定义;了解排序的分类;掌握插入排序方法及效果;掌握集合的划分及快速排序方法;掌握堆的构造及堆选排序方法;掌握归并的效率及归并排序方法;了解基数排序及其特点。
[本章主要内容]:
7.1 概述
7.2 插入排序
7.2.1 直接插入排序
7.2.2 其它插入排序
7.2.3 希尔排序
7.3 快速排序
7.4 选择排序
7.4.1 简单选择排序
7.4.2 树形选择排序
7.4.3 堆排序
7.5 归并排序
7.6 基数排序
7.6.1 多关键字的排序
7.6.2 链式基数排序
7.7 各种内部排序方法的比较讨论
[本章重点]:
1.各种排序方法的算法思想
2.各种排序方法的算法实现
[本章难点]:
1.各种排序方法的算法实现
课程教材及主要参考书:数据结构(
C语言版).严蔚敏,吴伟民.清华大学出版社.2002