• Aucun résultat trouvé

1Arbresbinairesderecherche PARIS DIDEROT .

N/A
N/A
Protected

Academic year: 2022

Partager "1Arbresbinairesderecherche PARIS DIDEROT ."

Copied!
2
0
0

Texte intégral

(1)

INITIATION À LAPROGRAMMATION(IP2) - TD11

université PARIS . DIDEROT

PARIS 7

1 Arbres binaires de recherche

Un arbre binaire de recherche (ABR) est un arbre pour lequel chaque nœud vérifie les deux propriétés suivantes :

1. chacun des nœuds de son sous arbre gauche a une étiquette de valeur inférieure (ou égale) à lui même,

2. chacun des nœuds de son sous arbre droit a une étiquette de valeur supérieure à lui même Dans la suite du TD on utilisera les classes suivantes :

class Arbre{

private Noeud racine;

public Arbre () {this.racine=null; } public Arbre (Noeud n) {

this.racine=n;

} }

class Noeud{

private int etiquette; private Noeud gauche;

private Noeud droit;

public Noeud(inte,Noeud g,Noeud d) { this.etiquette =e;

this.gauche=g;

this.droit =d; }

}

Écrire les méthodes suivantes dans la classe Arbre :

1. Écrire une méthode public boolean verifier() qui s’assure que l’arbrethisest un ABR.

Dans les questions suivantes on suppose (et il faudra le vérifier) que l’arbre est un ABR.

2. Proposer une méthode d’affichagepublic void afficher() qui affiche les étiquettes des nœuds de thisde telle sorte qu’ils apparaissent dans l’ordre croissant.

3. Proposer une méthode public int maximum() retournant l’étiquette de valeur maximale de l’ABR. Même question avec le minimum.

4. En utilisant la structure de l’ABR, proposer une méthode de recherche d’un entier dans this.

La méthode renverra un booléen indiquant la présence dans l’arbre de l’entierndonné en paramètre.

5. On veut à présent insérer un élément dans l’arbre tout en s’assurant que l’arbre obtenu soit encore un ABR. Proposez une méthode public void ajouter(int n)qui ajoute un nœud d’étiquetten.

6. Dessiner l’arbre obtenu si on insère un à un les nœuds 10, 5, 8, 3, 13, 2, 1.

1

(2)

7. Expliquer comment supprimer le nœud d’étiquette 44 sur les deux arbres suivants : 42

33

32 35

44

45

44

15

12 19

48

45 49

8. Montrer que l’algorithme suivant permet de supprimer un nœud tout en conservant la structure de l’ABR :

— Si le nœud à supprimer ne possède pas de fils, on l’enlève

— Si le nœud à supprimer n’a qu’un fils, on remplace le noeud par son fils

— Si le nœud à supprimer possède deux fils, on le remplace par le sommet de plus petite valeur dans le sous arbre droit, puis on supprime ce sommet

Implémenter cet algorithme.

9. Écrire une fonction public int[] tri (int[] t) qui retourne un nouveau tableau correspon- dant au tableaut trié en utilisant un ABR.

2

Références

Documents relatifs

Les deux lignes ay, (SJ se coupent en un point T qui appartient à la trace horizontale d'un couple de plans tangents communs.. La ligne STj qui passe par le point de rencontre

Comme on veut une seule formulation, on ne peut pas garder les "si" comme on le ferait dans un

Comme ABCDE est un pentagone régulier, l’angle AJ’E qui sous-tend la corde AE mesure 36° et l’angle AJ’C qui sous-tend la corde AC est égal à 72°.. De la même manière CFGHI

Un polygone régulier à n côtés est inscrit dans un cercle de centre O dont le rayon est un entier r.. Sur la droite qui relie O à l’un des sommets du polygone, on trace un

HIRTZBERGER Pierre -Ingénieuren chef .IMBERT Pierre - DGST.. LE COUVEZ Jean-Jacques - Contrôleurprincipal des transmissions

La Conférence des chefs d'Etat et de gouvernement des pays ayant le français en partage, plus communément désignée par le terme de " Sommet " rassemble, tous les deux

Deux angles inscrits qui interceptent le même arc sont égaux entre eux , et égaux à la moitié de l'angle au

Comme vous pouvez le voir sur les illus- trations, tous les composants utilisés dans le câblage, à l’exception de la diode D1, sont du type à montage en sur face et, de ce fait,