考查目标
1. 掌握数据结构的基本概念、基本原理和基本方法;
2. 掌握数据结构的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析;
3. 能应用数据结果基本原理和方法进行问题的分析与求解,具备采用C或C++语言设计与实现算法的能力。
一、栈、队列和数组
(一)栈和队列的基本概念
(二)栈和队列的顺序存储结构
(三)栈和队列的链式存储结构
(四)栈和队列的应用
二、树与二叉树
(一)树的基本概念
(二)二叉树
1. 二叉树的定义及其主要特性
2. 二叉树的顺序存储结构和链式存储结构
3. 二叉树的遍历
(三)树、森林
1. 树的存储结构
2. 森林与二叉树的转换
3. 树和森林的遍历
(四)树与二叉树的应用
1. 二叉排序树
2. 堆结果
3. 哈夫曼(Huffman)树和哈夫曼编码
三、图
(一)图的基本概念
(二)图的存储及基本操作
1. 邻接矩阵法
2. 邻接表法
3. 邻接多重表、十字链表
(三)图的遍历
1. 深度优先搜索
2. 广度优先搜索
(四)图的基本应用
1. 最小(代价)生成树
2. 最短路径
3. 拓扑排序
四、动态查找
(一)平衡二叉树(AVL树)
(二)散列(Hash)表
(三)查找算法的分析及应用
五、排序
(一)希尔排序(Shell Sort)
(二)快速排序
(三)堆排序
(四)二路归并排序
(五)基数排序
(六)各种内部排序算法的比较
(七)排序算法的应用