深度优先搜索深度优先搜索方法

如题所述

深度优先搜索是一种用于遍历或搜索图的算法,下面通过一个无向图来演示其过程:


从顶点A开始,我们按照深度优先的策略进行搜索。可能的访问序列并非唯一,例如,我们可以选择首先访问BCD,这里我们假设先访问BA->B。接着,从B探索其邻居,发现没有路可以进一步走,于是我们回溯到A


然后,从A继续,选择C,并继续探索其路径。我们遇到F,然后是H。由于H没有未访问的相邻节点,我们继续探索F的邻居,找到G。最后,G也没有未访问的节点,但我们还未访问完所有可能的路径,因为D还未访问。


D的邻居是EG,我们选择E,但发现没有路,再次回溯到D。由于D也已无未访问的节点,我们再次尝试G。然而,G也没有未访问的邻居,搜索过程再次回溯到A,并且A也没有剩余的未访问节点,这意味着本次搜索结束。


总结:深度优先搜索通过遍历各个节点,并在无路可走时回溯,直到所有可能的路径都已被探索或某个节点无未访问的邻居,搜索终止。


扩展资料

深度优先搜索是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) 。在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索单独的一条链。深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。

温馨提示:答案为网友推荐,仅供参考