搜索算法介绍
算法解释
深度优先搜索(DFS) 和 广度优先搜索(BFS) 是两种最常见的优先搜索方法,它们被广泛地运用在图和树等结构中进行搜索。本节中,我们重点讨论利用 DFS 和 BFS 去解决一些搜索问题。
深度搜索(DFS)
深度搜索在 二叉树 中体现为 先序遍历,深度搜索的搜索过程本身就是一棵树。
深度搜索的实现方式:递归 、栈
递归实现
todo ...
使用 记忆化技术 可以提升 递归的效率
栈实现
todo ...
建议:刷题时推荐使用递 归式写法,工程上,直接使用栈。
栈与递归的调用原理相同,而递归相对便于实现,因此刷题时推荐使用递归式写法,同时也方便进行回溯。不过在实际工程上,直接使用栈可能才是最好的选择,一是因为便于理解,二是更不易出现递归栈满的情况。
广度搜索(BFS)
示例代码
todo ...