繁体   English   中英

深度优先搜索算法

[英]depth-first search algorithm

Boost库中实现的深度优先算法仅访问每个顶点一次。

是否有任何解决方法可以停用此选项。 我希望只要在任何顶点中都有分支,就可以访问这些顶点。

任何建议...

编辑:该图是非循环的。

希望只要顶点中有分支,就可以访问顶点。

当迭代器到达顶点的分支时,您建议迭代器做什么?

深度优先搜索只是回答这个问题的一个方法。 是其他一些。

但是你必须选择一些东西。 关闭DFS并不是问题。

我认为这是不可能的。 因为如果您的图包含循环(并且您在其中有循环,当您说顶点可以被多次访问时),该算法将以无穷循环结束。

如果您想枚举非循环图中的所有路径,那么我认为您不能轻松地修改深度优先搜索来做到这一点。 有专门为此目的设计的算法,特别是:Rubin,F .; ,“枚举图中的所有简单路径”,《电路与系统》,IEEE Transactions,第25卷,第8期,第641-642页,1978年8月。

如果您知道Floyd-Warshall算法,则可以轻松地对其进行修改,以计算矩阵每个元素中的路径列表,而不是最小距离,从而完成此工作。 上面的文章使用了一些位操作来使其运行更快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM