在计算机科学中,深度优先遍历(Depth-First Search,DFS)和广度优先遍历(Breadth-First Search,BFS)是两种常用的图遍历算法。它们可以应用于解决许多与图相关的问题,例如查找路径、拓扑排序和连通性等。本文将详细介绍深度优先遍历和广度优先遍历的概念、算法实现以及它们的应用场景。
深度优先遍历(DFS)是一种以深度为优先级的遍历算法。该算法通过从一个节点开始,沿着一条路径尽可能深入地搜索,直到达到不能继续前进的节点,然后回溯到前一个节点,再继续探索其他路径。DFS可以使用递归或者栈来实现。
下面是一个使用递归实现的深度优先遍历的示例代码:
# 图的邻接表表示法
graph = {
'A': ['B'