Corrigé 36  Enoncé

Suivant dans un arbre.

Soient Q, P des pointeurs vers un arbre binaire Trouv et Continue des booléens

Suivant_Inordre ( P )

    SI FD(P) <> NIL
        P := FD(P)
        TANTQUE FG(P) <> NIL :     P := FG(P)     FTANTQUE
        Suivant_Inordre := INFO(P)
    SINON
        Q := PERE(P)
        Continue := VRAI
        TANTQUE (Q <> NIL) ET Continue
            SI P = FD(Q)
                P := Q
                Q := PERE(P)
            SINON
                Continue := FAUX
            FSI
        FTANTQUE
        Suivant_Inordre := Q)
    FSI

Suivant_Préordre(P)

    SI FG(P) <> NIL
        Suivant_Préordre := FG(P)
    SINON
        SI FD(P) <> NIL
            Suivant_Préordre := FD(P)
        SINON
            Q := PERE(P)
            Continue := VRAI
            TANTQUE (Q <> NIL) ET Continue
                SI P = FD(Q)
                     P := Q
                     Q := PERE(P)
                SINON
                     SI FD(Q) <> NIL
                         Continue := FAUX
                     SINON
                         P := Q
                         Q := PERE(P)
                     FSI
                 FSI
            FTANTQUE

            SI Q <> NIL
                Suivant_Préordre := FD(Q)
            SINON
                Suivant_Préordre := NIL
            FSI
        FSI
    FSI

Suivant_Postordre (P)

    Q := PERE(P)
    SI Q= NIL
        Suivant_Postordre := NIL
    SINON
        SI P = FG(Q)
            SI FD(Q) <> NIL
                P := FD(Q)
                TANTQUE NON FEUILLE(P)
                    SI FG(P) <> NIL :    P := FG(P)
                    SINON P := FD(P)FSI
                FTANTQUE
                Suivant_Postordre := P
            SINON
                Suivant_Postordre := Q
            FSI
        SINON
            Suivant_Postordre := Q
        FSI
    FSI


Feuille droite d'une feuille F donnée.

    P := Suivant_Préordre( F)
    Trouv : = FAUX
    TANTQUE P <> NIL ET NON Trouv
        SI FG(P) = NIL ET FD(P) = NIL
            Trouv : = VRAI
        SINON
            P := Suivant_Préordre (P)
        FSI
    FTANTQUE

La feuille droite est P.


Les parcours préordre, inordre et postordre donnent les feuilles dans le même ordre.
La démonstration utilise ce dernier algorithme et se fait sur la complexité des arbres. En effet, le résultat est le même SI on remplace Suivant_Préordre par Suivant_Postordre ou Suivant_Inordre.