Привет,
Может кто-нибудь сказать мне, какой алгоритм используется для обхода ориентированного ациклического графа / диаграммы, например:
Ex.
Узлы диаграммы: 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, но вы можете использовать любой язык, если хотите опубликовать какой-то алгоритм.
Может быть, это стандартное название для этого алгоритма, например поиск в глубину, алгоритм Дейкстры, восхождение на холм, я не знаю? ...
Большое спасибо!