这里面有 10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;
10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算 法、动态规划、字符串匹配算法。
文章目录
- 一、 基本算法思想
- 1-1 回溯
- 1-2 动态规划dp
- 1-3
- 二、 排序
- 2-1 O(n2)
- 2-1-1 冒泡排序
- 2-1-2 插入排序
- 2-1-3 选择排序
- 2-1-4 希尔排序
- 2-2 O(nlogn)
- 2-2-1 归并排序
- 2-2-2 快速排序
- 2-2-3 堆排序
- 2-3 O(n)
- 2-3-1 计数排序
- 2-3-2 基数排序
- 2-3-3 桶排序
- 三、 树
- 3-1 二叉树
- 3-1-1 平衡二叉树
- 3-1-2 二叉查找树
- 3-1-3 平衡二叉查找树
- 3-1-4 完全二叉树
- 3-1-5 满二叉树
- 3-2 多路查找树
- 3-3 堆
- 3-3-1 小顶堆
- 3-3-2 大顶堆
- 3-3-3 斐波那契堆
- 3-3-4 二项堆
- 3-3-5 优先级队列
- 四 、图
- 4-1 图的存储
- 4-1-1 临界矩阵
- 4-1-2 邻接表
- 4-2 拓扑排序
- 4-3 最短路径
- 4-4- 关键路径
- 4-5 最小生成树
- 4-6 二分图
- 4-7 最大流
- 五、 搜索
- 5-1 深度优先搜索
- 5-2 广度优先搜索
- 六、查找
- 6-1 线性表查找
- 6-2 树结构查找
- 6-3 散列表查找
- 七、 散列表
- 7-1 散列函数
- 7-2 冲突解决
- 7-2-1 链表法
- 7-2-2 开放寻址法
- 7-2-3 其他
- 7-3 动态扩容
- 7-4 位图
- 八、 线性表
- 8-1 数组
- 8-2 链表
- 8-2-1 单链表
- 8-2-2 双向链表
- 8-2-3 循环链表
- 8-2-4 双向循环链表
- 8-2-5 静态链表
- 8-3 栈
- 8-3-1 顺序栈
- 8-3-2 链式栈
- 8-4 队列
- 8-4-1 普通队列
- 8-4-2 双端队列
- 8-4-2 双端队列
- 8-4-2 双端队列
- 8-4-5 阻塞并发队列