十三、数据结构(5分)
一、大O表示法
1、大O表示法
2、时间复杂度
3、空间复杂度
4、问题
二、渐进符号
1、渐进符号
2、问题
三、递归
1、递归式时间、空间复杂度
2、递归主方法
3、问题
a = 2
b = 2
f(n)=nlgn
解:f(n)=O(n^logb^(a-E))不成立
f(n)=O(n^logb^a lgk n)成立
因为logb^a=log2^2=1
nlgn=n lgk n ,所以k = 1
O(n^logb^a lgk+1 n) = O(n lg2 n)
四、线性结构
1、线性表
2、线性表的顺序存储
2.1线性表的顺序存储
2.2、线性表顺序存储代码
2.3、顺序表插入
2.4、顺序表删除
2.5、顺序表查找
3、线性表的链式存储
3.1、线性表的链式存储
3.2、线性表链式存储代码
3.3、单链表插入及时间复杂度
3.3.1、带头结点的单链表插入
3.3.2、不带头结点的单链表插入
3.3.3、单链表插入时间复杂度
3.4、单链表删除及时间复杂度
3.4.1、带头结点的单链表删除
3.4.2、不带头结点的单链表删除
3.4.3、单链表删除时间复杂度
3.5、单链表查找及时间复杂度
3.6、循环单链表
3.7、双链表
4、问题
五、栈
1、栈的顺序存储
2、栈的链式存储
3、问题
六、队列
1、队列的顺序存储和循环队列
2、队列的链式存储和双端队列
3、问题
七、栈和队列
1、栈和队列
2、问题
八、串
1、串
2、问题
3、串的模式匹配和朴素匹配
4、手算next数组
5、KMP
6、问题
九、数组
1、一维数组
2、二维数组
3、数组计算公式与特性
4、问题
十、矩阵
1、对称矩阵
2、三对角矩阵
3、稀疏矩阵
4、问题
十一、树
1、树的定义
2、树的基本概念
3、树的性质1
4、树的性质2
5、树的性质3
6、树的性质4
7、问题
十二、二叉树
1、二叉树的定义
2、二叉树性质1、2、3
3、满二叉树和完全二叉树
4、二叉树性质4
5、问题
十三、二叉树的存储结构
1、二叉树的顺序存储
2、二叉树的链式存储
3、问题
十四、二叉树的遍历
1、先序遍历
2、中序遍历
3、后序遍历
4、层次遍历
5、遍历序列构建二叉树
6、先序+中序构造二叉树
7、中序+后序构造二叉树
8、层序+中序构造二叉树
9、问题
十五、平衡二叉树
1、平衡二叉树
2、二叉排序树定义
3、二叉排序树构造
4、问题
十六、最优二叉(哈夫曼)树
1、最优二叉(哈夫曼)树
2、最优二叉树构造
3、最优二叉树概念
4、最优二叉树构造规则
5、构造二叉树最优例子
6、哈夫曼编码
7、哈夫曼编码压缩比
8、问题
十七、线索二叉树
1、线索二叉树定义
2、二叉树类别引入
3、问题
十八、图
1、图形的定义
2、有向图和无向图
3、完全图
4、顶点的度
5、路劲
6、连通图和强连通图
7、问题
十九、图的结构
1、邻接矩阵
2、邻接链表
3、稠密图和稀疏图
4、问题
二十、图的遍历
1、网
2、图的遍历
3、深度优先遍历(DFS)
4、深度优先遍历的时间复杂度
5、广度优先遍历的时间复杂度
6、问题
二十一、拓扑排序
1、拓扑排序
2、问题
二十二、查找
1、查找的基本概念
2、顺序查找
3、折半查找
4、问题
二十三、哈希表
1、哈希表的定义
2、哈希函数构造和处理冲突
3、处理冲突拓展和装填因子
4、问题
二十四、堆
1、小顶堆和大顶堆
2、建立小顶堆和大顶堆
3、问题
二十五、排序
1、排序的基本概念
2、直接插入排序
3、希尔排序
4、问题
5、简单选择排序
6、堆排序
7、问题
8、冒泡排序
9、快速排序
10、问题
11、归并排序
12、问题
二十六、杂题选讲