数据结构与算法分析笔记
未经允许请勿转载
作者:jzh
0.算法分析
- 运行时间的计算
- 运行空间的计算(这个我去查查看CSDN)
1.线性表
-
线性表定义:
-
线性表顺序存储结构
-
线性表链式存储结构
-
单链表
这个需要勤加练习,一定一定要打的毫无错误(我还是出了一个小错。
-
循环链表
其实这个只需要将end和head连在一起就可以了
-
双向链表
不知道为啥我双向链表写的比单链表长,但这写起来是真的舒服
-
-
链表提高:跳表
2.栈与队列
- 栈
- 栈的定义
- 顺序栈
- 链式栈
- 队列
- 队列概念
- 链队列
- 循环队列
- 队列提高:优先队列
3.串
- 串的定义
- 字符串实现
- 匹配算法
- 简单匹配
- 首位匹配
- KMP匹配
- regex实现和使用
4.数组与广义表
- 数组
- 数组概念
- 数组的顺序存储方式
- 矩阵
- 定义:
- 特殊矩阵
- 稀疏矩阵
- 广义表
- 概念
- 实现
5.树和二叉树
- 树的定义:
- 二叉树
- 定义
- 实现
- 进阶:二叉查找树
- 二叉树遍历
- 前序
- 中序
- 后序
- 线索二叉树
- 定义
- 实现
- 哈夫曼树
- 定义
- 实现
- 进阶:AVL树、B树、B+树、红黑树
- AVL树
- 定义
- 实现
- B树
- 定义
- 实现
- B+树
- 定义
- 实现
- 红黑树
- 定义
- 实现
- AVL树
6.优先队列
- 二叉堆
- d-堆
- 左式堆
- 斜堆
- 二项队列
7.图
- 图的定义
- 存储方式
- 邻接矩阵
- 邻接表
- 并查集
- 图遍历
- DFS
- LFS
- 最小生成树
- PRIM算法
- KRUSKAL算法
- 有向无环图
- 拓扑排序
- 关键路径
- 最短路
- Dijkstra算法
- 弗洛伊德算法
- bellman-ford算法
- 最大流最小割问题
- 最大流
- 最小割
- NP完全性介绍
- 旅行商问题
8. 查找
- 静态表查找
- 无序表查找
- 有序表查找
- 三分法
- 动态查找
- 二叉排序树
- 二叉平衡树
- B树和B+树
- 散列表(这个再数据结构黑书中是第5章)
- 定义
- 实现
- 避免冲突(哈希表)
- 布隆筛(具体可以看b站一枚武僧视频)
9.排序
- 插入排序
- 希尔排序
- 冒泡排序
- 快速排序重要!!!
- 归并排序
- 基数排序
- 多关键排序
- 基数排序
- 外部排序
- 桶排序和堆排序
- 桶排序
- 堆排序
10.高级数据结构
- 自顶向下伸展树
- 确定性跳跃表
- AA树
- treap树
- k-d树
- 配对堆
11.其他算法
- 递归算法
- 分治算法
- DP动态规划
- 贪心算法
- 随机化算法
- 回溯算法
- 摊还算法
- 分支限界算法
- 不相交集ADT
其他请参照https://oi-wiki.org/