Parcours de graphes

Parcours profondeur

FCT PARCOURS_PROFONDEUR(graphe G, sommet dep) :
    vus <- {}
    FONCTION EXPLORER(sommet s) :
        SI s ∉ vus ALORS :
            TRAITER(s)
            vus <- ajouter s
            POUR chaque voisin/successeur v de s :
                EXPLORER v
            FIN POUR
        FIN SI
    FIN FCT
    EXPLORER dep
FIN FCT

Parcours largeur

FCT PARCOURS_LARGEUR(graphe G, sommet dep) :
    a_traiter <- file vide
    a_traiter <- enfiler dep
    vus <- {dep}
    TANT QUE a_traiter non vide FAIRE :
        s <- defiler(a_traiter)
        TRAITER(s)
        POUR chaque voisin/successeur de v de s :
            SI v ∉ vus ALORS :
                a_traiter <- enfiler v
                vus <- ajouter v
            FIN SI
        FIN POUR
    FIN TANT QUE
FIN FCT

Parcours générique

FCT PARCOURS_GENERIQUE(graphe G, sommet dep) :
    a_traiter <- structure de données
    a_traiter <- ajouter dep
    vus <- {}
    TANT QUE a_traiter non vide FAIRE :
        s <- extraire(a_traiter)
        SI s ∉ vus ALORS :
            TRAITER(s)
            vus <- ajouter(s)
            POUR chaque voisin/successeur v de s FAIRE :
                a_traiter <- ajouter(v)
            FIN POUR
        FIN SI
    FIN TANT QUE
FIN FCT