遍历代表实际操作的图表

发布于 2024-11-09 20:40:57 字数 556 浏览 0 评论 0原文

您好,

谁能告诉我使用什么算法来遍历有向无环图/图,如下所示:

例如。 图表节点: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,但如果你想发布一些算法,你可以使用任何语言。

也许这是这个算法的标准名称,比如深度优先搜索、迪杰斯特拉算法、爬山,我不知道?...

非常非常感谢!

Greetings,

Can anyone please tell me what algorithm is used for traversing a directed acyclic graph/ diagram like this :

Ex.
Diagram nodes : A, B, C, D1, D2, D3, E
Diagram edges : A → B, B → C, C → D1, C → D2, C → D3, D1 → E, D2 → E, D3 → E

The traversal is like this :

A → B → C → D1, then C → D2, then C → D3,
And after that, they join : D1 → E, D2 → E, D3 → E

My graph represents real time operations. Most operations are linear, but when operations split on condition, each split (ex. node C splits to D1, D2 and D3) waits for all operations to finish before they join again (ex. nodes D1, D2 and D3 join at node E)

I need to iter over my nodes and call each operation in this exact order.

I use Python with pygraph, but you can use any language if you want to post some algorithm.

Maybe it's a standard name for this algorithm, like Depth-first search, Dijkstra's algorithm, Hill climbing, i don't know ?...

Thank you very very much !

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独行侠 2024-11-16 20:40:57

拓扑排序将为您提供在给定边上执行操作所需的顺序。

A topological sort will give you the order that you need to perform the operations in given the edges.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文