我有很多圈的有向图,可能是强连通的,我需要从它得到一个最小的圈。我的意思是我需要得到循环,这是图中最短的循环,每条边至少被覆盖一次。
我一直在寻找一些算法或一些理论背景,但我唯一找到的是中国邮递员算法。但这种解决方案不适用于有向图。
有人能帮我吗?谢谢
Edit>>该图的所有边都具有相同的成本-例如1
发布于 2010-03-02 05:17:00
我怀疑它是否是最优的,但你可以做一个基于队列的搜索,假设图肯定有一个循环。每个队列条目将包含表示路径的节点列表。当您从队列中删除一个元素时,请将所有可能的后续步骤添加到队列中,确保您不会重新访问节点。如果最后一个节点与第一个节点相同,则已找到最小周期。
https://stackoverflow.com/questions/2359078
复制相似问题