DFS 和 BFS 的适用场景
raw/articles/2026/05/DFS和BFS的适用场景
⚠️ 内容不完整:原文使用 JavaScript 动态渲染,无法自动获取完整内容。本摘要仅基于 Meta 信息创建。
核心观点
本文介绍为什么:
- DFS 算法常用来穷举所有路径
- BFS 算法常用来寻找最短路径
因为二叉树的递归遍历和层序遍历就是最简单的 DFS 算法和 BFS 算法,所以本文用一道简单的二叉树例题说明其中的道理。
相关题目
| 平台 | 题目 | 难度 |
|---|---|---|
| LeetCode | 111. Minimum Depth of Binary Tree | - |
| 力扣 | 111. 二叉树的最小深度 | - |
关键概念
- DFS(深度优先搜索):优先深入探索,适合穷举所有路径的场景
- BFS(广度优先搜索):逐层扩展,适合寻找最短路径的场景
- 二叉树递归遍历:最简单的 DFS 实现
- 二叉树层序遍历:最简单的 BFS 实现
相关概念
- 二叉树 - 本文以二叉树遍历为例说明 DFS/BFS
- DFS(深度优先搜索)- 首次出现,暂不创建独立页
- BFS(广度优先搜索)- 首次出现,暂不创建独立页
- 最短路径
- 穷举路径
待补充
由于原文无法完整获取,以下内容缺失:
- 具体的算法实现代码
- 二叉树例题的详细分析
- DFS/BFS 的对比示例
- 时间/空间复杂度分析