1 深度优先算法与 宽度优先遍历
深度优先算法(DFS,Deep First Search)与 宽度优先遍历(BFS,Breadth First Search) 是树、图数据结构的基础性、标准性的遍历算法。
2 深度优先算法(DFS,Deep First Search)
深度优先搜索(DFS)是一种用于搜索图形或树数据结构的算法。该算法从树的根(顶部)节点开始,尽可能沿着给定的分支(路径)向下,然后回溯,直到找到一条未探索的路径,然后进行探索。该算法会一直这样做,直到整个图都被研究完毕。计算机科学中的许多问题都可以用图形来思考。例如,分析网络、映射路由、调度和查找生成树都是图问题。为了分析这些问题,像深度优先搜索这样的图搜索算法很有用。
深度优先搜索通常在其他更复杂的算法中用作子例程。例如,匹配算法Hopcroft–Karp使用DFS作为其算法的一部分,以帮助在图中找到匹配。DFS还用于树遍历算法,也称为树搜索,它在旅行商问题和福特-富尔克森算法中有应用。