数据结构与算法脉络总结
目录
- 一、数据结构
- 1. 链表
- 2. 栈
- 3. 队列
- 4. 散列表
- 5. 集合
- 6. 二叉树
- 7. 字典树
- 8. 堆
- 9. 优先队列
- 10. 并查集
- 二、算法
- 1. 排序
- (1)插入排序
- (2)快速排序
- (3)归并排序
- (4)堆排序
- 2. 字符串
- (1)kmp
- (2)ac自动机
- (3)trie
- 3. 图论
- (1)深度优先搜索
- (2)广度优先搜索
- (3)拓扑
- 4. 贪心
- 5. 动态规划
- 6. +数学
- 7. 其他:递归、分治、二分查找、双指针、多路归并、多数投票
- 1. 排序
一、数据结构
1. 链表
k个一组翻转链表
奇偶链表
2. 栈
3. 队列
4. 散列表
5. 集合
6. 二叉树
根到叶路径上的不足节点
二叉搜索子树的最大键值和
从中序与后序遍历序列构造二叉树
7. 字典树
搜索推荐系统
8. 堆
9. 优先队列
10. 并查集
二、算法
1. 排序
(1)插入排序
(2)快速排序
(3)归并排序
(4)堆排序
2. 字符串
(1)kmp
(2)ac自动机
(3)trie
3. 图论
(1)深度优先搜索
全排列去重
子集
回溯:路径总和 III
(2)广度优先搜索
二进制矩阵中的最短路径
T秒后青蛙的位置
(3)拓扑
4. 贪心
5. 动态规划
最小花费爬楼梯
打家劫舍
不同路径
6. +数学
蓄水
7. 其他:递归、分治、二分查找、双指针、多路归并、多数投票
分治:合并 K 个升序链表
双指针:反转字符串中的单词
双指针:压缩字符串
双指针:盛水最多的容器
递归:字符串解码
递归:回文链表
多数投票:多数元素