《数据结构》考试大纲

一、绪论
1.熟悉各名词,术语的含义,掌握基本概念。
2.掌握数据结构中逻辑结构和存储结构之间的关系。
3.了解抽象数据类型的定义,表示和实现方法。
4.掌握计算语句频度和估算算法时间复杂度的方法。

二、线性结构——线性表、栈、队列和串
1.理解线性表的逻辑结构定义。
2.熟悉抽象数据类型定义方式。
3.熟练掌握各种存储结构的描述方法。
4.掌握线性表、栈和队列的应用,各种线性结构之间的关系。
5.熟悉串的逻辑结构和典型存储方式,理解串的主要运算。
6.熟练掌握在顺序和链式存储结构上实现相关基本操作。

三、数组和广义表
1.掌握数组的逻辑特征与存储方式。
2.掌握矩阵的压缩存储方式及其特点。
3.理解广义表的逻辑特征和存储方式。
4.掌握广义表的基本操作。

四、树和二叉树
1.熟练掌握二叉树的基本性质。
2.熟练二叉树的各种存储结构的实现,各存储结构的特点及适用范围。
3.熟练掌握各种遍历策略的递归算法。
4.熟练掌握通过遍历实现二叉树操作的方法以及基于遍历结果的应用。
5.树(森林)与二叉树的关系(存储)。
6.了解最优树的特性,掌握建立最优树和哈夫曼编码的方法。

五、图
1.掌握图的定义及其它基本概念。
2.掌握图的存储结构——邻接矩阵、邻接表。
3.掌握图的遍历方法——深度优先搜索、广度优先搜索。
4.掌握最小生成树生成方法。
5.了解拓扑排序概念,了解关键路径算法。
6.掌握图的最短路径算法。

六、查找(检索)
1.掌握静态查找表——顺序表、有序表、静态树表、索引表的查找算法;理解算法复杂性的分析过程;熟悉算法特点。
2.掌握动态查找表——二叉排序树和平衡二叉树的概念、基本操作及其实现。
3.理解B树的概念和特点。
4.掌握哈希查找思想、哈希冲突解决方法、哈希查找性能。

七、排序
1.掌握直接插入排序、希尔排序、冒泡排序、简单选择排序的思想及实现方法。
2.掌握快速排序、堆排序、归并排序的思想和及实现方法。
3.掌握算法复杂度及其分析方法;熟悉算法特点及其适用场景。

八、文件
1.了解与文件有关的基本概念。
2.理解文件结构及其组织方式——顺序、索引、散列文件(HASH)。

参考书目:
《数据结构(C语言版)》,严蔚敏、吴伟民,清华大学出版社。