首页 > 解决方案 > DFS Graph Traversal 打印所有可能的路径,而不会丢失任何贡献的边缘

问题描述

我想遍历一个图来提取从一个节点到另一个节点的所有可能路径。我发现 DFS 可能缺少一些我想要维护的路径。比如图中我想遍历节点1到节点5的路径,DFS好像只得到1->2->3->5,没有得到1->2->3->4 ->2 -> 3 -> 5。因为访问节点4时,已经访问了它的后继节点2。但是,我也想要第二条路径,因为我关心每一个可能的贡献边缘,比如 3 -> 4 和 4 -> 2。

目前,我只维护了许多不完整的路径,例如 1->2 ->3 ->4 没有到达目的地的下一部分。为了完成它们,我尝试找到节点 2 并将其与从节点 2 开始的路径连接起来。我不确定这是否是正确的解决方案。它似乎仍然缺少一些可能性。是否有任何标准算法用于此目的?
在此处输入图像描述

标签: algorithmsearchgraphdepth-first-searchbreadth-first-search

解决方案


推荐阅读