【发布时间】:2011-05-27 18:40:12
【问题描述】:
您好,
谁能告诉我用什么算法来遍历这样的有向无环图/图表:
例如。 图表节点: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 算法、爬山,我不知道?...
非常感谢!
【问题讨论】: