0% ont trouvé ce document utile (0 vote)
3 vues2 pages

Problem 2

Le document traite des arbres binaires de recherche (Abr) en informatique, définissant leurs propriétés et la méthode d'insertion d'éléments. Il demande de compléter une implémentation en Java avec des méthodes pour ajouter des éléments, tester leur présence, et redéfinir certaines méthodes. De plus, il aborde la rotation des nœuds et la création d'une méthode pour placer un élément à la racine de l'arbre.

Transféré par

choraichianass
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues2 pages

Problem 2

Le document traite des arbres binaires de recherche (Abr) en informatique, définissant leurs propriétés et la méthode d'insertion d'éléments. Il demande de compléter une implémentation en Java avec des méthodes pour ajouter des éléments, tester leur présence, et redéfinir certaines méthodes. De plus, il aborde la rotation des nœuds et la création d'une méthode pour placer un élément à la racine de l'arbre.

Transféré par

choraichianass
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Hassan 1er CI–ISIBD–S5

École Nationale des Sciences Appliquées 2025–2026


Département Génie Informatique & Mathématiques POO–JAVA

Problème
Arbre binaire de recherche

On appelle arbre binaire de recherche (Abr) sur un ensemble ordonné, un arbre binaire vérifiant
pour chaque noeud :
clé du fils gauche (si ∃) < clé du noeud < clé du fils droit (si ∃)

Exemple : Abr sur des entiers :

Pour insérer un nouvel élément dans un Abr, on parcoure l’arbre depuis la racine, en se dirigeant
◦ vers la gauche si x < clé du noeud courant,
◦ vers la droite si x > clé du noeud courant ;
et x est inséré à la première position libre ainsi atteinte. (Si x est déjà dans l’arbre l’opération
est sans effet).

Une implémentation des Abr peut être donnée sous la forme :


public class Abr {
public class Noeud {
Comparable cle;
Noeud fg, fd;
...
}

Noeud racine;
...
}

1
I) - 1) Compléter l’implémentation en définissant les méthodes permettant :
• d’ajouter un nouvel élément
• de tester si un élément figure dans l’arbre

- 2) Redéfinir les méthodes :


• toString() permettant d’obtenir les clés de l’arbre sous forme ordonnée
• clone()

II) On appelle rotation sur un noeud f de clé x, l’opération de transformation schématisée


par :

1) Vérifier qu’une rotation (Droite ou Gauche) conserve la propriété de l’arbre binaire


de recherche.
2) Définir dans Abr la méthode :
public Noeud versRacine(Comparable x)

qui place x, par une successions de rotations, à la racine de l’arbre


(si x existe déjà on le déplace vers la racine, sinon on l’ajoute à l’arbre puis on le
déplace vers la racine)

Vous aimerez peut-être aussi