如何查找不会导致循环的每个顶点的所有可用路径?使用什么算法?如果可能的话,请简要提供链接,如果下面的精彩图表中的内容不清楚,请提出问题:)
我不是在寻找最短的路径或类似的东西。相反,我只是想知道哪些路径仍然可以在我的图形上绘制而不会导致循环/循环。例如,L4
可以转到L1, L2, L5
和L2
可以转到L5
......等等......
我想我想要一个有向无环图,需要帮助找出使用哪种算法以及如何使用?
答案 0 :(得分:2)
像Bellman-Ford或Dijkstra这样的最短路径算法会产生副作用,告诉您哪些节点可以从给定节点“A”到达 - 这正是边缘到<的节点列表/ strong>“A”会形成循环。
我怀疑有一种方法可以修改Bellman-Ford一次性生成所有这些列表,而不是为每个节点单独运行算法,但我会将其作为练习留给读者。 :)
答案 1 :(得分:1)
答案 2 :(得分:1)
以下不是答案,只是一种思考这个问题的方法。
你可以从对面思考问题。找到所有缺少一条边的路径以形成一个循环(我没有想到它,如何)。然后那些缺失的边缘不是你正在寻找的边缘。接受除此之外的一切。