Vous êtes sur la page 1sur 2

Algorithmique avancée et SD ING1 GSI AU 2023/2024

TD 4.1- Structures arborescentes

TYPE NOEUD = STRUCTURE


INFO : TYPE_INFO
FG : *NŒUD
FD : *NŒUD
FIN STRUCTURE

TYPE ARBREBINAIRE = *NŒUD

Arbres Binaires
Exercices 1.1: Soit l’arbre binaire T :

1.1. Déterminer pour cet arbre binaire, sa racine, sa taille, sa hauteur, ses nœuds intérieurs et ses feuilles.
1.2. Pour le nœud 3, déterminer son parent, ses frères, sa profondeur, ses ancêtres et ses descendants propres.
1.3. Donner le résultat du parcours de l’arbre T : en ordre infixe, en ordre préfixe, et en ordre postfixe.

Exercices 1.2: Ecrire une Fonction CreerArbre(v :Type_info, fg :ArbreBinaire, fd :ArbreBinaire) qui créer et
retourne un arbre binaire.
Exercices 1.3: Ecrire une fonction Vide(a :ArbreBinaire) qui retourne vrai si l’arbre est vide, Faux sinon.
Exercices 1.4: Ecrire une fonction Info(a :ArbreBinaire) qui cherche et retourne la valeur enregistrée à la racine.
Exercices 1.5: Ecrire une fonction FilsGauche(a :ArbreBinaire) qui cherche et retourne l’arbre binaire formé par le
sous-arbre gauche.
Exercices 1.6: Ecrire une fonction FilsDroite(a :ArbreBinaire) qui cherche et retourne l’arbre binaire formé par le
sous-arbre droite.
Exercices 1.7: Ecrire une procédure AjoutGauche(a :ArbreBinaire, val :Type_Info) qui ajoute la valeur au premier
fils gauche vide.
Exercices 1.8: Ecrire une procédure AjoutDroite(a :ArbreBinaire, val :Type_Info) qui ajoute la valeur au premier
fils droite vide.
Exercices 1.9: Ecrire une fonction CompteSommets(a :ArbreBinaire) qui compte et retourne le nombre de sommet
dans un arbre binaire.

© O.Lamouchi -1-
Algorithmique avancée et SD ING1 GSI AU 2023/2024

TD 4.2- Structures arborescentes

TYPE NOEUD = STRUCTURE


INFO : TYPE_INFO
FG : *NŒUD
FD : *NŒUD
FIN STRUCTURE

TYPE ARBREBINAIRE = *NŒUD

Arbres Binaires de Recherche

Exercices 2.1:

2.1.1. Dessiner un arbre binaire de recherche contenant les entiers de 1 à 10 insérés dans l’ordre suivant:
2 5 1 8 3 6 7 10 4 9
2.1.2. Utiliser la procédure InsertionAbr (vu en cours) pour écrire la procédure ConstruireAbr (arb : ArbreBinaire,
F : FILE) qui va construire un arbre binaire de recherche à partir des entiers stockées dans la file F.

Exercices 2.2: Ecrire une procedure Afficher_AbrTrie(arb :ArbreBinaire) qui affiche les valeurs des noeuds d'un
ABR par ordre croissant (Bien choisir le type de parcours des noeuds de l'arbre).

Exercices 2.3: Ecrire une fonction EstAbr(arb :ArbreBinaire) qui teste si un arbre binaire passé en paramètre est un
arbre binaire de recherche ou pas.

Exercices 2.4: Ecrire une fonction Parent (arb :ArbreBinaire) qui retourne le parent d’un nœud dans un arbre
binaire de recherche.
Exercices 2.5: Ecrire une fonction Successeur_Abr(arb :ArbreBinaire, v : info) qui retourne le successeur d’un
nœud dans un arbre binaire de recherche.

Exercices 2.6: Ecrire une procédure Supprimer_Abr_Noeud(arb :ArbreBinaire, v :info) qui supprime un nœud
d’un arbre binaire de recherche.

© O.Lamouchi -2-

Vous aimerez peut-être aussi