• Aucun résultat trouvé

Manipulation des arbres binaires Exercice 0 :

N/A
N/A
Protected

Academic year: 2022

Partager "Manipulation des arbres binaires Exercice 0 :"

Copied!
1
0
0

Texte intégral

(1)

Manipulation des arbres binaires

Exercice 0 : Dessinez un arbre qui contiendrez des informations de votre choix et qui vous semblerez pertinent (pas de limite de domaine, Bio, Physique, Droit, Lettres, Médecine, etc.)

Exercice 1 : Reprendre les méthodes statiques du cours et en faite des méthodes de l’objet arbre lui- même. Écrire donc une classe complète pour les arbres.

Exercice 2 : Rajouter les autres parcours en profondeur (infixe, suffixe) en récursif ; Écrire un main avec quelques arbres pour comparer. Essayer un parcours en profondeur infixe mais en itératif (avec une boucle while).

Exercice 3 : Quel arbres sont ABR ? Justifiez !

Exercice 4 : Est-ce que tout arbre peut être mis sous la forme d’un arbre binaire ?

Exercice 5 : Est-ce que votre arbre de l’exercice 0 pourrait être mis sous la forme d’un ABR ? Justifiez.

Exercice 6 : Construire dans un main, un arbre binaire de recherche ; puis affichez ces valeurs avec différents parcours. L’un des parcours a une propriété remarquable pour les ABR. Laquelle ? Quelle pourrait être l’utilité ?

Exercice 7 : Ecrire une méthode « map » qui applique un calcul/fonction (donné en paramètre) à tout les nœuds et feuilles de l’arbre. Regardez le cours sur les streams du premier semestre pour vous rappeler comment on passe une fonction en paramètre.

Exercice 8 : Écrire une méthode qui permet d’ajouter un élément « x » à un arbre binaire de recherche (en tant que nouvelle feuille) ; Voici ce qu’il faut faire :

Si la valeur « x » est plus grande que la valeur de nœud, alors il faut continuer à insérer dans l’arbre droit ;

Dans le cas contraire ; allez dans l’arbre gauche

Si il n’y a pas de nœud (arbre vide), alors rajouter une nouvelle feuille à l’arbre Essayez une (a) une méthode récursif ; (b) une méthode impérative (itérative)

Exercice 9 : (Difficile) Écrivez une méthode (static ou non) permettant d’afficher les arbres binaire (en mode texte) comme ci-dessous. Exemple pour l’arbre (a)

___10 _6___15 2_3_12_18

On décale donc les nœuds avec des « _ » pour qu’ils soient mieux centrés. Pour ce faire, on suppose un « _ » d’espace entre 2 feuilles ; Un nœud, fils ajoute aussi un « _ ». On décale le nœuds d’un fils droit (p. ex. Le nœud 15) avec des « _ » et on en ajoute autant qu’il y a de noeuds/feuilles(+1) pour le frère (nœud 6) et qu’il y a de petits fils à gauche (ici, il n’y a que la feuille 12). Essayez d’abord à la main; Pensez aussi à un parcours en largeur...

Références

Documents relatifs

Or si l'on observe le tableau statut, pour tout sommet x, statut[x] vaut -1 lorsque l'appel à profondeur(G,statut,x) n'est pas commençé, 0 lorsqu'il commence et 1 lorsqu'il

• Si un nœud a un fils gauche, son prédécesseur est le nœud le plus à droite dans son sous-arbre gauche.. Inserer (version

• Si les données ne tiennent pas en mémoire vive, les problèmes d'accès au disque deviennent primordiaux. • Un seul accès au disque prend environ autant de temps que

Par ailleurs, l'étude de nombreux séismes a permis de déterminer que la vitesse moyenne des ondes P dans la croûte continentale sous les Alpes est de 6,25 km.s -1.. Méthode de calcul

Il est clair que la valeur frontière de k cherchée est celle pour laquelle l’abscisse limite des points du chemin est nulle. On peut vérifier que le point double situé à

Si la réponse est «oui», indiquer pour chaque arc son type lors d’une exécution valide de PPC et remplir les dates manquantes de coloriage en gris et en noir.. En écrire une

Un arbre de d´ ecision repr´ esente les comparaisons (` a l’exclusion de toute autre op´ eration) effectu´ ees par un algorithme de tri lorsqu’il traite une entr´ ee de taille

La longueur d’un chemin de la racine ` a une feuille dans l’arbre de d´ ecision est ´ egale au nombre de comparaisons n´ ecessaires au tri pour parvenir ` a la r´ eponse