外观
数据结构与算法
知识脉络
数据结构与算法
├── 数据结构
│ ├── 数组 / 链表
│ ├── 栈 / 队列
│ ├── 哈希表
│ ├── 树(二叉树/BST/AVL/红黑树/B+树)
│ ├── 堆(优先队列)
│ ├── 图
│ └── 跳表 / Trie / 布隆过滤器
├── 排序算法
│ ├── 快排 / 归并 / 堆排
│ ├── 稳定性与复杂度对比
│ └── 外部排序
├── 搜索算法
│ ├── 二分查找变体
│ ├── BFS / DFS
│ └── 回溯
├── 动态规划
│ ├── 背包问题
│ ├── 子序列问题
│ └── 区间DP
├── 贪心算法
├── 双指针 / 滑动窗口
└── 高频面试题分类
├── TOP-K 问题
├── LRU 实现
├── 链表操作(反转/环/合并)
└── 树的遍历与变体知识点清单
| # | 题目 | 频率 | 难度 | 状态 |
|---|---|---|---|---|
| 1 | 排序算法总结 | 极高 | 进阶 | todo |
| 2 | HashMap底层-红黑树 | 极高 | 困难 | todo |
| 3 | B树与B+树 | 极高 | 进阶 | todo |
| 4 | LRU缓存实现 | 极高 | 进阶 | todo |
| 5 | 二分查找变体 | 高 | 进阶 | todo |
| 6 | 链表高频操作 | 高 | 进阶 | todo |
| 7 | TOP-K问题解法 | 高 | 进阶 | todo |
| 8 | 树的遍历(递归与迭代) | 高 | 基础 | todo |
| 9 | 动态规划基础 | 高 | 困难 | todo |
| 10 | 滑动窗口模板 | 高 | 进阶 | todo |
| 11 | 跳表原理 | 高 | 进阶 | todo |
| 12 | 布隆过滤器原理 | 高 | 进阶 | todo |
| 13 | 一致性哈希算法 | 高 | 进阶 | todo |
| 14 | 时间复杂度分析 | 中 | 基础 | todo |
| 15 | 堆与优先队列 | 中 | 进阶 | todo |
| 16 | 图算法基础 | 中 | 进阶 | todo |
| 17 | Trie树 | 中 | 进阶 | todo |
| 18 | 位运算技巧 | 中 | 进阶 | todo |
| 19 | 回溯算法模板 | 中 | 进阶 | todo |
| 20 | 并查集 | 中 | 进阶 | todo |
口诀速记
- 排序复杂度: "快归堆nlogn,冒插选n²,计桶基n"
- 稳定排序: "冒插归计桶基(稳),快选堆(不稳)"
- 红黑树: "根黑叶黑,红无红子,黑路同数"
- DP四步: "状态定义→转移方程→初始化→遍历顺序"
跨域关联
- 红黑树 → HashMap底层原理(Java 基础)
- B+树 → B+树索引原理(MySQL)
- 跳表 → 跳表原理(ZSet底层)(Redis)
- 布隆过滤器 → 缓存穿透-击穿-雪崩(Redis)