数据结构

Book Notes · Grokking · Pre-course Intuition

算法图解
入门前导读

Aditya Bhargava 用生活例子降低第一印象。本站角色对应组成站的 《编码》:只建直觉梯子。适读阶段:入门前导读。本页只用文字和自绘 .flow,不模仿原书手绘插图与连环画叙事。它不能代替严蔚敏 / 全书,也不能代替演示里的预计算。

02散列:平均很快

把关键字映射到槽。均匀假设下平均 O(1),最坏仍 O(n)(全撞一槽)。开放定址装填因子必须 < 1。本站二次探查约定 h+i²。删除用墓碑,不能裸删后让探测链断掉。

易错:「平均 O(1)」不是最坏保证,也要声明均匀/均匀探查这些前提。

03图:一层层走,或按边权走

邻接表上 BFS / DFS 都是 O(V+E)。BFS 给无权最短边数;要加权最短路,边权非负才用 Dijkstra。负权换 Bellman-Ford(只检源点可达负环)或 Floyd(禁负环)。拓扑只对 DAG。

BFS 层数/Dijkstra 非负/拓扑 · DAG
进阶 / 超出 408原书后半的贪心课堂例子、动态规划食谱,数据结构科目不单列。活动选择不是 408 必答。

章末自测

不能。它是前导读。KMP next、B/B+ 例外、稳定性表、快排随机前提仍回全书。
不等于。最坏 O(n)。还要均匀假设;开放定址 α<1。
不能。Dijkstra 要求边权非负。负权换 BF 或 Floyd,并守各自的负环前提。