一、线性数据结构
(一)线性表
1、线性表的概念
2、线性表的顺序表示
3、线性表的链式表示
4、单链表
5、循环单链表
6、双向链表
7、静态链表
8应用:多项式
(二)栈
1、栈概念
2、栈的顺序表示
3、栈的链式表示
4、应用:数据转换、括号配对、行编辑程序、表达式转换
(三)队列
1、队列的定义
2、队列的顺序表示
3、队列的链式表示
4、双端队列
5、应用:杨辉三角
(四)串
1、串的定义
2、串的顺序表示
3、串的堆表示
4、串的链式表示
5、应用:KMP
(五)矩阵和表
二、非线性数据结构
(一) 树
1、树的定义
2、二叉树
3、二叉树的顺序表示和链式表示
4、二叉树的遍历
5 二叉树的线索化
6、森林与二叉树
7、应用:哈夫曼树
(二) 图
1、图的定义
2、图的存储:邻接矩阵、邻接表、十字链表、邻接多重链表
3、图的遍历
4、最小生成树
5、关键路径
6、最短路径
三 查找
1、查找的概念
2、静态查找
(1)折半查找
(2)索引查找
3、动态查找
(1)二叉排序树
(2)平衡排序树
(3)B_和B+树
(4)散列表
四 排序
(一)插入排序
1、直接插入排序
2、希尔排序
(二)选择排序
1、简单选择排序
2、 堆排序
(三) 交换排序
1、 冒泡排序
2、 快速排序
(四)归并排序
(五)基数排序