review for some basic knowledge of data structure and algorithms
- 插入,删除
- 查值查找,查地址查找
- 就地逆置
- 头插入
- 头删除
- 查值查找和查地址查找(查找给定位置节点(**,1/3),递归删除单链表,合并两个单循环链表)
- 就地逆置
- 线性链表——头插入头删除——链栈
- 单循环链表——带尾指针头删除尾插入——链队列
- 双向链表,双向循环链表——删除和插入操作修改指针的情况和顺序
基于顺序表:
- 栈的push和pop
- 队列的enter和delete(循环队列的构造使用取模运算,解决循环队列判空判满的三种方法)
单链表:头插入头删除(链栈)
带尾指针单循环链表——尾插入头删除——链队列
双端顺序栈(栈的push1和push2以及pop1和pop2)
括号匹配算法
(树到二叉树的转换)
先序,中序,后序,层序
二叉链表,三叉链表,线索链表
递归算法
非递归算法(先序中序使用栈,层序非递归使用队列)
基于遍历的二叉树恢复
线索二叉树
二叉排序树
平衡二叉树
哈弗曼树
有向图,无向图,子图
连通图,强连通图
出度,入度
最小生成树
最短路径,关键路径,拓扑排序
顶点的度数之和和边数的关系
无向图的边数
生成树的边数
最小生成树的最小
拓扑排序的特点
关键路径的含义
顺序存储(邻接矩阵)
链式存储(邻接表,逆邻接表,十字链表)
深度优先
广度优先
-
最小生成树——Prim算法
-
最小生成树——Kruskal算法
-
关键路径求解算法——标号法AOV
-
拓扑排序算法——有向图环的检查
-
最短路径算法——单源Dijkstra算法
-
最短路径算法——全局Floyd算法
静态查找
动态查找
查找方法:
- 顺序查找
- 折半查找
- 索引查找
- 散列表(哈希)(解决冲突的几种方法)
- 插入排序
- 简单选择排序
- 希尔排序
- 快速排序
- 堆排序
- 归并排序
- 排序算法的稳定性,时空复杂度等