如果您正在访问节点,则 DFS 方法将根据邻接表的创建顺序遍历图。
例如,插入 nodeE
的后继者的顺序可能是以下几种方式:
1- E-> D, G
2- E-> G, D
在第一种方式中,您将遍历D->F->G
或D->G
直接,在这两种情况下,您都将G
在遍历任何节点E
其他后继节点之前访问节点,因此您将无法遍历路径,S->A->E->G
因为节点G
之前已经从节点D
或访问过F
。
在第二种方式中,您将E->G
直接遍历,因此这将导致遍历 path S->A->E->G
,但您将无法G
从 node访问nodeD
或者F
因为它已经从 node 访问E
。
如果您使用 true 或 false 访问,则会发生前面的情况,但是如果您尝试使用边上的成本找到最短路径,那么您将需要使用Dijkstra
的算法来查找图形上的最短路径,并且您可以如果您不熟悉它,请在此处阅读更多相关信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句