遍历表示实际操作的图表

时间:2011-05-27 18:40:12

标签: python graph diagram

问候,

任何人都可以告诉我使用什么算法来遍历这样的有向无环图/图:

  

实施例。   图节点:A,B,C,D1,D2,D3,E
  图边:A→B,B→C,C→D1,C→D2,C→D3,D1→E,D2→E,D3→E

遍历是这样的:

  

A→B→C→D1,然后是C→D2,然后是C→D3,
  之后,他们加入:D1→E,D2→E,D3→E

我的图表代表实时操作。大多数操作都是线性的,但是当操作按条件分割时,每个分割(例如节点C分裂为D1,D2和D3)等待所有操作在它们再次加入之前完成(例如节点D1,D2和D3在节点E处连接) )

我需要在我的节点上进行操作,并按照这个确切的顺序调用每个操作。

我将Python与pygraph一起使用,但如果你想发布一些算法,你可以使用任何语言。

也许它是这个算法的标准名称,比如深度优先搜索,Dijkstra算法,爬山,我不知道?...

非常感谢你!

1 个答案:

答案 0 :(得分:5)

topological sort将为您提供在给定边缘执行操作所需的顺序。