先来聊聊概念:
深度优先搜索(DFS)是一种在树或图数据结构中进行遍历或搜索的基本算法。它从根节点开始,沿着每条分支尽可能深地探索,直到无法继续为止,然后回溯并探索其他分支。这种算法通常使用递归或堆栈来实现。
广度优先搜索(BFS)是另一种常用的图算法,与深度优先搜索相对应。BFS从起始节点开始,首先探索所有与起始节点直接相连的节点,然后逐层地探索与这些节点相连的节点,直到找到目标节点或遍历完整个图。在搜索过程中,BFS通常使用队列数据结构来管理待访问的节点。
那么到底是个什么个事呢?
从图中大概也能理解上述概念
他们的区别在哪里呢?
他们运用的都比较深入,我就从竞赛的角度来谈论这些问题
事实上,我们在运用他们的时候,似乎都能解决一些相同的问题???但是!
有些问题他们各有优势
在这些方面 能够看出他们的各自优势,在解决一些不同的问题的时候,更有“能力”去解决;
再来看看dfs的一些题目
最后的话我只能说一句