Classification Edge dans un DFS

Selon le livre (l'Intro de l'Algorithme), dfs, les bords sont classés en 4 types:

  1. Arbre de Bord, si l'arête (u,v), v est le premier découvert, alors (u, v) est
    un arbre bord.
  2. Bord arrière, si ......, v est découvert déjà et v est un ancêtre, c'est un bord arrière.
  3. Avant-garde, si ......, v est découvert déjà et v est un descendant de u, de l'avant de pointe il est.
  4. De la croix-Bord, de tous les bords, sauf pour les trois ci-dessus.

Ma question est comment puis-je déterminer si v est u ancêtre ou descendant quand je suis à essayer de comprendre si (u, v) est un avant ou arrière de l'edge?

source d'informationauteur Alcott