数据结构基础
面试必考数据结构深度解析:特性、实现、复杂度与高频考点。
本章节包含
| 数据结构 | 特性 | 面试高频考点 |
|---|---|---|
| 数组 | 连续内存、O(1)随机访问 | 双指针、滑动窗口、前缀和、二分查找 |
| 链表 | 离散分配、灵活插入删除 | 反转、合并、环检测、LRU 缓存 |
| 栈与队列 | LIFO / FIFO | 单调栈、计算器、双向队列 |
| 哈希表 | O(1)查找、插入、删除 | 冲突处理、设计哈希映射、一致性哈希 |
| 树 | 层级结构、递归天然适配 | 遍历序列、BST 操作、平衡树、Trie |
| 图 | 网络拓扑、多对多关系 | BFS、DFS、最短路径、拓扑排序 |
| 堆 | 完全二叉树、堆顶极值 | 优先队列、Top K、堆排序 |
| 树与递归模板 | 递归三要素、遍历套路 | 前/中/后序思想、BST 操作、LCA、回溯模板 |
| 数组与链表 | 连续内存 vs 离散分配、操作特性对比 | 内存布局差异、双指针、滑动窗口、前缀和、LeetCode 真题 |
数据结构选型指南
面试中常问「为什么选这个数据结构?」,以下是常见场景的选择逻辑:
- 频繁随机访问 → 数组
- 频繁插入删除 → 链表
- 查找为主 → 哈希表
- 保持顺序 + 快速查找 → 平衡树
- 优先级调度 → 堆
- 最短路径 / 网络拓扑 → 图
每个子章节包含:定义、操作、代码实现(Python/Java/Go)、时间空间复杂度、面试真题链接。