🕸️ 图论
图的 BFS/DFS 遍历、拓扑排序与前缀树(Trie)。
4 题 · 中等 ×4
| # | 题目 | 难度 |
|---|---|---|
| 200 | 岛屿数量 | 中等 |
| 994 | 腐烂的橘子 | 中等 |
| 207 | 课程表 | 中等 |
| 208 | 实现 Trie(前缀树) | 中等 |
核心思路
- 岛屿数量:DFS/BFS,遇到
'1'则将整块岛屿标记为已访问(置为'0'),计数器加一。 - 腐烂的橘子:多源 BFS,将所有腐烂橘子同时入队作为第 0 层,BFS 层数即为最少分钟数;最后检查是否还有新鲜橘子。
- 课程表:拓扑排序(BFS Kahn 算法),若最终处理节点数等于总课程数则可完成,否则存在环。
- 实现 Trie:每个节点含 26 个子节点指针和一个
isEnd标志,insert/search/startsWith 均按字符逐层遍历。