1. 绪论
-
数据结构的定义和分类
-
数据结构的抽象数据类型(ADT)
-
算法和算法分析
-
时间复杂度和空间复杂度
2. 线性表
-
线性表的定义和特点
-
顺序存储结构(数组)
-
链式存储结构(单链表、双链表、循环链表)
-
线性表的实现和基本操作(插入、删除、查找)
3. 栈和队列
-
栈的定义、特点和实现(顺序栈、链式栈)
-
栈的基本操作(压栈、弹栈、清空)
-
队列的定义、特点和实现(顺序队列、链式队列)
-
队列的基本操作(入队、出队、清空)
-
特殊队列:循环队列、优先队列
4. 串
-
串的定义和特点
-
串的存储结构(顺序存储、链式存储)
-
串的基本操作(连接、子串、模式匹配)
5. 数组和矩阵
-
数组的定义和存储结构
-
矩阵的压缩存储(三元组表、十字链表)
-
特殊矩阵的存储(对称矩阵、三角矩阵)
6. 树和二叉树
-
树的定义和基本术语
-
二叉树的定义和性质
-
二叉树的存储结构(顺序存储、链式存储)
-
二叉树的遍历(前序、中序、后序、层序)
-
线索二叉树
-
平衡二叉树(AVL树)
-
哈夫曼树和哈夫曼编码
7. 图
-
图的定义和基本术语
-
图的存储结构(邻接矩阵、邻接表)
-
图的遍历(深度优先搜索、广度优先搜索)
-
图的特殊类型(有向图、无向图、加权图)
-
最小生成树(Prim算法、Kruskal算法)
-
最短路径(Dijkstra算法、Floyd算法)
8. 查找
-
查找的定义和分类
-
顺序查找和二分查找
-
索引查找和散列表
-
哈希表和哈希函数
9. 排序
-
排序的定义和分类
-
插入排序(直接插入、希尔排序)
-
选择排序(直接选择、堆排序)
-
交换排序(冒泡排序、快速排序)
-
归并排序和基数排序
-
各种排序算法的比较
10. 文件结构
-
顺序文件和索引文件
-
索引顺序文件
-
哈希文件