Согласно книге (Введение в алгоритм), в dfs ребра классифицируются как 4 вида:
- Tree Edge, если в ребро (u, v), v сначала обнаружено, то (u, v) является край дерева.
- Back Edge, если......, v уже обнаружен, а v является предком, тогда это задний край.
- Forward Edge, если......, v уже обнаружен, а v является потомком u, передним краем.
- Cross Edge, все ребра, за исключением трех выше.
Мой вопрос в том, как я могу определить, является ли v предком или потомком, когда я пытаюсь выяснить, является ли (u, v) обратное или переднее ребро?