Я нашел несколько алгоритмов, которые позволяют определять задние ребра ориентированного графа с помощью DFS. К сожалению, я обнаружил несоответствие в одном из анализируемых графиков. Пожалуйста, найдите ниже минимальный пример:
Я ожидал, что для этого ориентированного графа алгоритмы определят только одно обратное ребро, которое я отметил красным: E->B
.
Вместо этого, в отличие от моего понимания, алгоритмы могут определять как задний край также край B->E
. Различные результаты зависят от обходов графа, например:
Traversal | Back Edge
-------------------------
A->B->D->E | E->B
A->C->D->E->B | B->E
Вопрос 1. Верно ли предположить, что задний край графика равен только E->B
?
Вопрос 2. Если да, то какой алгоритм может гарантировать правильный обход DFS?