大家好,
有谁能告诉我,用什么算法来遍历这样的有向无圈图/图:
例如。图节点: A,B,C,D1,D2,D3,E 图边:A→B,B→C,C→D2,C→D2,C→D3,D1→E,D2→E,D3→E
遍历如下:
A D1 B→C→→,然后C→→,C→D3, 之后,他们加入: D1→E,D2→E,D3→E
我的图表代表实时操作。大多数操作是线性的,但是当操作在条件下分裂时,每个操作都会被分割(例如。节点C分裂为D1、D2和D3),等待所有操作在它们再次加入之前完成(例如。节点D1、D2和D3在节点E处连接)
我需要在我的节点上调用iter,并按这个精确的顺序调用每个操作。
我将Python与pygraph结合使用,但是如果您想发布一些算法,您可以使用任何语言。
也许这是这个算法的标准名称,比如深度优先搜索,Dijkstra的算法,爬山,我不知道?
非常感谢!
发布于 2011-05-27 18:43:58
拓扑排序会给出执行给定边缘操作所需的顺序。
https://stackoverflow.com/questions/6156392
复制相似问题