En informatique, un arbre binaire de recherche (ABR) est un arbre binaire dans lequel chaque noeud
possède une clé telle que chaque noeud du sous-arbre gauche ait une clé inférieure ou égale à celle du
noeud considéré, et que chaque noeud du sous-arbre droit possède une clé supérieure ou égale à celleci.
Selon la mise en oeuvre de l’ABR, on pourra interdire ou non des clés de valeur égale. Les noeuds que
l’on ajoute deviennent des feuilles de l'arbre.
Implémentez les fonctions suivantes qui agissent sur des ABR.
Les déclarations se trouveront dans le fichier abr.h et les implémentations dans le fichier abr.c.
Exercice 1
Créez un type arbre_recherche qui permet de simuler les arbres binaires de recherche d’entiers.
Exercice 2
Écrivez une fonction int insertion(arbre_recherche * ar, int x) qui permet d’insérer un
entier dans un arbre binaire de recherche. Cette fonction devra renvoyer la valeur 1 si l’insertion a été
réussie, -1 sinon. Votre arbre ne supportera pas les clés de valeur égale.
Exercice 3
Écrivez la fonction void affichage(arbre_recherche * ar) qui fait un affichage de l’arbre en
effectuant un parcours infixe de celui-ci.
La méthode infixe parcourt l’arbre en visitant d’abord le sous-arbre gauche, ensuite la racine et enfin le
sous-arbre droit. Ainsi, le parcours de l’arbre donnée en exemple serait : 1, 3, 4, 6, 7, 8, 19, 13, 14.
Partager