Algorithme arbre binaire de recherche
Bonjour,
Soit ABR un type arbre binaire de recherche defini par un enregistement :
- gauche, droit de type ABR (pour les sous arbres)
- valeur de type entier
- haut, taille, dist de type entier (hauteur, taille, distance)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| procedure vide (a : ABR);
a := NIL
fonction estvide(a : ABR) : booleen;
estvide := a = NIL
procedure inser(x : entier, var a : ABR);
si estvide(a) alr
new(a)
a^.valeur := x
a^.gauche := NIL
a^.droit := NIL
sinon
si x = a^.valeur alr rien
sinon si x <a^.valeur alors
inser(x, a^.gauche)
sinon
inser(x, a^.droit)
fonction hauteur (a : ABR) : entier;
si estvide(a) alors
hauteur := 0
sinon
hauteur := a^.haut
fonction taille (a : ABR) : entier;
si estvide(a) alors
taille := 0
sinon
taille := a^.taille
fonction distance (a : ABR) : entier;
si estvide(a) alors
distance := 0
sinon
distance := a^.dist |
Voilà, maintenant je n'arrive pas à mettre à jour a^.haut, a^.dist et a^.taille dans la procédure insertion, pouvez vous m'aider ?
Merci d'avance.