Comments 2
Ух. Формализма и правда хватает :)
Попробую резюмировать.
Мы обходим ациклический ориентированный граф, хотим посетить каждую вершину один раз и не хотим ставить пометки.
Для каждой вершины (кроме корня) мы неким образом выделяем ровно одно входящее ребро, то есть учимся однозначно находить предка.
Граф из выделенных ребер представляет из себя дерево.
Теперь для обхода графа достаточно идти только по выделенным ребрам, то есть при проходе по ребру проверять, что первая ее вершина, является предком второй.
Попробую резюмировать.
Мы обходим ациклический ориентированный граф, хотим посетить каждую вершину один раз и не хотим ставить пометки.
Для каждой вершины (кроме корня) мы неким образом выделяем ровно одно входящее ребро, то есть учимся однозначно находить предка.
Граф из выделенных ребер представляет из себя дерево.
Теперь для обхода графа достаточно идти только по выделенным ребрам, то есть при проходе по ребру проверять, что первая ее вершина, является предком второй.
+1
Sign up to leave a comment.
Один алгоритм комбинаторной генерации