复习100分钟拿下100分,你能做的到吗?【数据结构】(总复习)加油、加油!!!

二叉树
考点:
- 二叉树的性质(结点数、深度、n0=n2+1、i与2i与2i+1)
- 二叉树的遍历(前序、中序、后序)
- 哈夫曼树和哈夫曼编码
- 树与森林的转换

例题一:
- 求二叉树的先序遍历、中序遍历、后序遍历和层次遍历。
- 已知前序或后序(确定根)、中序(确定左右),还原二叉树

例题二:
- 先序遍历算法(递归版)

例题三:
- 构造哈夫曼树,以及哈夫曼编码。(构造树、编码)
- 求带权路径的长度 WPL

例题四:
- 已知森林的前序和后序,画出森林(通过二叉树来画)
- 知识点:
- 森林的先序对应二叉树的先序、森林的后序对应二叉树的中序
- 森林的先序遍历:一棵树一棵树的遍历(从上往下)
- 森林的先序遍历:一棵树一棵树的遍历(从下往上)
- 二叉树 ——> 森林
- 连线:左孩子的所有右孩子与父结点连线
- 删线:断掉所有的右孩子
- 调整:分层次调整


图
考点:
- 邻接矩阵:顺序存储,稠密图
- 邻接表:顺序+链式,稀疏图
- 遍历:广度优先BFS、深度优先DFS
- 最小生成树:连通图,边的权和最小
- 普里姆算法:最近顶点
- 克鲁斯卡尔算法:最短边
- 最短路径:迪杰斯特拉算法、弗洛伊德算法
- 拓扑排序AOV
- 关键路径AOE

例题一:
- 邻接矩阵与邻接表的存储表示


例题二:
- 深度优先遍历(借助 栈)
- 广度优先遍历(借助 队列)


例题三:
- 用普里姆算法找出最小生成树(找最近顶点)
- 用克鲁斯卡尔算法找出最小生成树(找最短边)


查找
考点:
- 折半查找(二分查找)
- 二叉排序树
- 散列表的查找

例题一:
- 哨兵模式的顺序查找:返回0没有找到,非0则找到

例题二:
- 折半查找:顺序存储的有序数,类似于排序二叉树
- 折半查找非递归算法
- 折半查找递归算法



例题三:
- 二叉排序树:左小右大
- 二叉排序树算法(递归)
- 二叉排序树的构造(不同的插入次序生成的二叉排序树形态不同)
- 二叉排序树的删除


