【目标】
理解数据结构的基本概念;掌握数据的逻辑结构、存储结构,以及各种基本
操作的实现。
能对算法的时间复杂度与空间复杂度进行基本的分析。
能选择合适的数据结构和方法进行问题求解,具备采用 C 或 C++语言设计
与实现算法的能力。
【考试大纲】
1.数据结构基本概念及简单的算法分析
(1)数据结构基本概念;
(2)算法的定义、特性;
(3)简单的算法分析:时间复杂度、空间复杂度;
2.线性表
(1)顺序表和链表的存储与基本操作;
(2)顺序表和链表的应用;
(3)循环链表;双向链表;
3.栈和队列
(1)栈和队列的定义;
(2)栈和队列的顺序和链式存储;
(3)栈和队列的应用;
4.字符串
(1)字符串的定义、存储和操作;
(2)字符串的模式匹配;
5.数组和广义表
(1)数组的顺序存储表示;
(2)矩阵的压缩存储:特殊矩阵、稀疏矩阵;
(3)广义表相关操作;
6.树与二叉树
(1)二叉树的定义、性质和存储结构;
(2)遍历二叉树;
(3)树的定义和存储结构;
(4)哈夫曼树构造及其编码;
7.图
(1)图的基本概念;图的存储表示:邻接矩阵、邻接表;
(2)图的遍历与连通性;
(3)最小生成树;
(4)拓扑排序;
(5)最短路径;
8.查找
(1)顺序表查找;有序表查找;索引顺序表查找;
(2)二叉排序树;平衡二叉树;
(3)哈希表的构造和冲突处理方法;
9.内部排序
(1)插入排序;
(2)交换排序;
(3)选择排序;
(4)归并排序;
(5)基数排序;
(6)内部排序算法的比较和应用;