Correction TP 5 :Types de donn´ees abstraits arbre
Licence 2 MASS semestre 2, 2007/2008
Exercice 1 : Arbre de Nombres
a- Algorithme somme(a: arbre) : entier
d´ebut
si arbreEstVide?(a)alors
retourner 0
sinon
retourner racine(a) + somme(arbreGauche(a)) + somme(arbreDroit(a))
fin si
fin
b- Algorithme maximum(a: arbre) : entier
d´ebut
si arbreEstVide?(a)alors
retourner 0
sinon
retourner max2(racine(a), max2(maximum(arbreGauche(a)), maximum(arbreDroit(a))
))
fin si
fin
Il faut pour cet algorithme des nombres au dessus de 0. Je propose d’autres
algorithmes :
Algorithme maximumR(a: arbre) : entier
d´ebut
si arbreEstVide?(a)alors
retourner 0
sinon
si arbreEstVide?(arbreGauche(a)) alors
si arbreEstVide?(arbreDroit(a)) alors
retourner racine(a)
sinon
retourner max2(racine(a), maximumR(arbreDroit(a)) )
fin si
sinon
si arbreEstVide?(arbreDroit(a)) alors
retourner max2(racine(a), maximumR(arbreGauche(a)) )
sinon
retourner max2(racine(a), max2(maximumR(arbreGauche(a)),
maximumR(arbreDroit(a)) ))
fin si
1