第 1 章 数据结构¶
每种结构记三件事:能做什么、操作多快、Python 怎么写。
| 结构 | 擅长 | 关键操作复杂度 | Python |
|---|---|---|---|
| 数组 / 列表 | 按下标访问 | 访问 O(1),中间插入 O(n) | list |
| 哈希表 | 查“见没见过” | 查找 / 插入 O(1) | dict、set |
| 栈 | 后进先出,括号、撤销 | 压入 / 弹出 O(1) | list.append / pop |
| 队列 | 先进先出,BFS | 入队 / 出队 O(1) | collections.deque |
| 堆 | 随时取最小 / 最大 | 取顶 O(1),插入 / 弹出 O(log n) | heapq |
| 链表 | 频繁插入删除 | 插入 O(1),查找 O(n) | 自定义 ListNode |
| 二叉树 | 层级、递归结构 | 平衡时 O(log n) | 自定义 TreeNode |
| 图 | 关系、路径 | 遍历 O(V + E) | 邻接表 dict[list] |
学习顺序
数组 / 哈希表 → 栈 / 队列 → 链表 → 二叉树(递归是关键)→ 堆 → 图