Согласно книге (Intro to Algorithm), в dfs ребра подразделяются на 4 вида:
- Ребро дерева, если в ребре (u,v) впервые обнаруживается v, то (u, v) является ребром дерева.
- Задний край, если ......, v уже обнаружен и v является предком, то это задний край.
- Переднее ребро, если ......, v уже обнаружено и v является потомком u, это переднее ребро.
- Cross Edge, все ребра, кроме трех вышеперечисленных.
Мой вопрос: как я могу определить, является ли v предком или потомком u, когда я пытаюсь выяснить, является ли (u, v) обратным или передним краем?