Exercice sur les arbres binaires de recherche



Documents pareils
Arbres binaires de recherche

Les structures de données. Rajae El Ouazzani

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Les arbres binaires de recherche

chapitre 4 Nombres de Catalan

ARBRES BINAIRES DE RECHERCHE

Ebauche Rapport finale

Programmation Objet - Cours II

Comment configurer mon iphone pour accéder à internet et lire mes s?

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Gérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

LES BIBLIOTHEQUES DE WINDOWS 7

INF601 : Algorithme et Structure de données

Sauvegarde avec Windows 7

Google Drive, le cloud de Google

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN

Chapitre 1 I:\ Soyez courageux!

Installation de Windows 2000 Serveur

Les probabilités. Chapitre 18. Tester ses connaissances

CHAPITRE VIII : Les circuits avec résistances ohmiques

Organiser les informations ( approche technique )

SOMMAIRE. Travailler avec les requêtes... 3

S'organiser pour ne plus se noyer dans l'information

EXCEL PERFECTIONNEMENT CALCULS AVANCES

CH.6 Propriétés des langages non contextuels

Quelques Algorithmes simples

Mesurer les altitudes avec une carte

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Navigation dans Windows

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Qu est ce qu une bibliothèque?

Supprimer définitivement un fichier

Guide d'utilisation du logiciel de NEWSLETTERS

BANQUES DE DONNÉES PÉDAGOGIQUES

Probabilités (méthodes et objectifs)

Installation de Windows 2003 Serveur

Configuration d'un annuaire LDAP

Organiser le disque dur Dossiers Fichiers

Infrastructure - Capacity planning. Document FAQ. Infrastructure - Capacity planning. Page: 1 / 7 Dernière mise à jour: 16/04/14 16:09

BADPLUS V5 MANUEL D'UTILISATION. Imports de données joueurs à partir de la base fédérale en ligne Poona. Stéphan KIEFFER - Dominique BOSSERT

Algorithmes de recherche

Master IMEA 1 Calcul Stochastique et Finance Feuille de T.D. n o 1

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

La Gestion de fichiers Supports réalisés avec OpenOffice.org 2.3 Writer. La Gestion de fichiers. Niveau : Débutant Auteur : Antonio da Silva

SRAL Saint Raphaël. Maison des associations 213, rue de la Soleillette Saint Raphaël. : : dromain.jean-pierre@neuf.

Le disque dur. Le disque dur est l'organe servant à conserver les données sous forme de dossiers de manière permanente.

Affectation standard Affectation modifiée (exemple)

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com

Compression de Données - Algorithme de Huffman Document de Conception

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels.

TESTS D'HYPOTHESES Etude d'un exemple

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Les opérations binaires

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

CS 01 D/B2I/ CONSULTATION ET TRANSMISSION DE L INFORMA-

Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Analyse hiérarchique de tâches (AHT)

Notice de présentation. La mise à jour de la référence bancaire sous TelePAC

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Formateur : Jackie DAÖN

1. Introduction Création d'une requête...2

Classer et partager ses photographies numériques

Seconde et première Exercices de révision sur les probabilités Corrigé

"La collimation est la première cause de mauvaises images dans les instruments amateurs" Walter Scott Houston

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

Écriture de journal. (Virement de dépense)

WordPress :: Migrer son site du local vers le serveur en ligne

La technologie au collège

1.1 L EXPLORATEUR WINDOWS

La mémoire. Un ordinateur. L'octet. Le bit

Je découvre le diagramme de Venn

C f tracée ci- contre est la représentation graphique d une

Exercices de dénombrement

@telier d'initiation

Utilisation avancée de SugarCRM Version Professional 6.5

Transférer et enregistrer les photos sur l'ordinateur

Sauvegarde et restauration d'un système d'exploitation Clonezilla

Coup de Projecteur sur les Réseaux de Neurones

Le poids et la taille des fichiers

Editer un catalogue avec OpenOffice

Nuxeo Enterprise Platform: Guide utilisateur

!!! Archipad version 1.4. Manuel de Référence

Gestion d Active Directory à distance : MMC & Délégation

L'INTÉRÊT COMPOSÉ. 2.1 Généralités. 2.2 Taux

Utiliser une base de données

LA SAUVEGARDE DES DONNEES SUR LES ORDINATEURS PERSONNELS

GESTION DE L'ORDINATEUR

CODE CIVIL FRANÇAIS (ANTERIEUR A 1960)

Les élèves, ta tache aujourd hui est de travailler sur ton projet de sciences humaines. J envoie de nouveau les directives.

LES DECIMALES DE π BERNARD EGGER

Importer les fichiers élèves - professeurs du secrétariat

Recherche dans un tableau

Manuel de l utilisateur de l'application en ligne Données Historiques Capelo 01/07/2013

Transcription:

Exercice sur les arbres binaires de recherche Voici une liste aléatoire de 1 éléments. Notez que vous pouvez faire cet exercice en prenant une autre liste aléatoire ; évidemment, il y a peu de chances que vous obteniez le même résultat. 2 3 4 0 1 On s intéresse aux arbres binaires de recherche. A- Rappelez les propriétés des arbres binaires de recherche. B- Rappelez ce qu est l opération d adjonction aux feuilles. C- Construire l arbre binaire de recherche par adjonction des valeurs aux feuilles, dans l ordre de la liste. On s attachera particulièrement à expliquer le raisonnement. D- Donner la liste infixée de l arbre obtenu, en justifiant votre raisonnement. Quelle propriété a-t-elle? Est-ce toujours le cas? E- Rappelez ce qu est l opération d adjonction à la racine. F- Construire l arbre binaire de recherche par adjonction des valeurs à la racine, dans l ordre de la liste initiale. On s attachera particulièrement à expliquer le raisonnement. G- Donner la liste préfixée de l arbre obtenu, en justifiant votre raisonnement. H- Donner l arbre obtenu par adjonction des valeurs aux feuilles, dans l ordre de la liste préfixée que vous venez d obtenir. Quelle propriété a-t-il vis à vis de l arbre obtenu à la question F? En est-il toujours ainsi? I- Rappelez ce qu est l opération de suppression. J- Donner l arbre obtenu par suppression de dans l arbre de la question H, en justifiant votre raisonnement. - 1 -

Corrigé Question A. Un arbre binaire de recherche est tel que tout nœud a une clé supérieure à celles des nœuds de son sous arbre gauche et inférieure à celles des nœuds de son sous arbre droit. On peut encore dire que la clé d'un nœud est comprise entre la plus grande clé de son sous arbre gauche et la plus petite clé de son sous arbre droit. En d'autres termes, pour tout nœud o, on a: (g(o) fi max(g(o)) la_clé(o)) Ÿ (d(o) fi la_clé(o) min(d(o))) L'intérêt des arbres binaires de recherche est que la complexité moyenne de la recherche d'un nœud est proportionnelle à la hauteur moyenne des nœuds de l'arbre. Question B. L'adjonction aux feuilles consiste à rechercher où devrait être la feuille si elle était déjà dans l'arbre et à la mettre à cet endroit. Question C. 2 3 1 4 0 2 est introduit dans un arbre vide. étant plus grand que 2 est mis à droite de 2. 3 étant plus grand que 2 et plus petit que est mis à gauche de. est plus petit que 2 est mis à gauche de 2. est plus petit que 2 et plus petit que, il est mis à gauche de. est plus petit que 2 et plus grand que, il est mis à droite de. est plus grand que 2 et plus grand que, il est mis à droite de. 4 est plus grand que 2, plus petit que et plus grand que 3, il est mis à droite de 3. est plus grand que 2, plus grand que et plus grand que. Il est mis à droite de. est plus grand que 2, plus petit que, plus grand que 3 et plus petit que 4, il est mis à gauche de 4. 0 est plus grand que 2, plus petit que, plus grand que 3 et plus grand que 4, il est mis à droite de 4. est plus grand que 2, plus petit que, plus grand que 3, plus grand que 4, plus grand que 0, il est mis à droite de 0. est plus grand que 2, plus petit que et plus petit que 3, il est mis à gauche de 3. Enfin, 1 est plus petit que 2, plus grand que et plus petit que, il est mis à gauche de. On obtient l'arbre suivant. - 2 -

Question D. La liste infixée de l'arbre est obtenue en faisant une exploration à main gauche, et en sortant le nœud après l'exploration de son sous arbre gauche et avant l'exploration de son sous arbre droit. C'est donc la suivante:,, 1,, 2,, 3,, 4, 0,,,, Cette liste est une liste ordonnée. C'est une des propriété d'un arbre binaire de recherche que sa liste infixée soit une liste triée, qui découle directement de la propriété énoncée dans la question A. Question E. L'adjonction à la racine consiste à reconstruire l'arbre binaire de recherche en mettant la nouvelle valeur à la racine. En parcourant l'arbre initial depuis sa racine et selon un chemin guidé par la valeur ajoutée, on va placer successivement chaque nœud rencontré avec l'un de ses sous arbres gauche ou droit dans l'arbre résultat. Question F. Initialement, l'arbre contient 2. L'adjonction de conduira à mettre 2 (<) à gauche de. L'adjonction de 3 conduit d'abord à mettre (>3) et son sous arbre droit à droite de 3 et à mettre ensuite 2 (<3) à gauche de 3. L'adjonction de conduit d'abord à mettre 3 (>) et son sous arbre droit à droite de, puis à mettre 2 (>) comme sous arbre gauche de 3. L'ajout de conduit à mettre (>) et son sous arbre droit à droite de. On obtient le premier arbre de la suite. L'ajout de conduit à mettre (<) et son sous arbre gauche à gauche de, puis (<) et son sous arbre gauche à droite de, puis 3 (>) et son sous arbre droit à droite de et enfin 2 (>) et son sous arbre droit à gauche de 3. L'ajout de conduit à mettre (<) et son sous arbre gauche à gauche de, puis 3 (<) et son sous arbre gauche à droite de et enfin (<) et son sous arbre gauche à droite de 3. On obtient le deuxième arbre de la suite. L'ajout de 4 conduit à mettre (>4) et son arbre droit à droite de 4, puis (<4) et son arbre gauche à gauche de 4, puis 3 (<4) et son arbre gauche à droite de et enfin (>4) et son arbre droit à gauche de. L'ajout de conduit à mettre 4 (<) et son arbre gauche à gauche de, puis (<) et son arbre gauche à droite de 4. On obtient le troisième arbre de la suite. 4 3 3 3 2 2 2-3 -

L'ajout de conduit à mettre (>) et son sous arbre droit à droite de, puis 4 (>) et son sous arbre droit à gauche de, puis (<) et son sous arbre gauche à gauche de et enfin 3 (<) et son sous arbre gauche à droite de. On obtient le premier arbre de la suite ci-dessous. L'ajout de 0 conduit à mettre (<0) et son sous arbre gauche à gauche de 0, puis (>0) et son sous arbre droit à droite de, puis 4 (<0) et son sous arbre gauche à droite de, puis (>0) et son sous arbre droit à gauche de et enfin (>0 et son sous arbre droit à gauche de. On obtient le deuxième arbre de la suite cidessous. L'ajout de conduit à mettre 0 (<) et son arbre gauche à droite de, puis (>) et son arbre droit à droite de, puis (>) et son arbre droit à gauche de et enfin (>) et son arbre droit à gauche de. On obtient le troisième arbre. 0 0 3 4 4 4 2 3 3 2 2 L'ajout de conduit à mettre (>) et son sous arbre droit à droite de, puis 0 (>) et son sous arbre droit à gauche de, puis (>) et son sous arbre droit à gauche de 0, puis (<) et son sous arbre gauche à gauche de, puis 3 (>) et son sous arbre droit à gauche de et enfin 2 (<) et son sous arbre gauche à droite de. On obtient le premier arbre de la liste ci-dessous. L'ajout de 1 conduit à mettre (>1) et son sous arbre droit à droite de 1, puis (>1) et son sous arbre droit à gauche de, puis (<1) et son sous arbre gauche à gauche de 1 et enfin (<1) et son sous arbre gauche à droite de. On obtient le deuxième arbre de la suite ci-dessous. 1 2 0 2 0 3 4 3 4-4 -

Question G. La liste préfixée s'obtient en faisant l'exploration à main gauche et en sortant le nœud avant ses descendants, c'est-à-dire lorsque l'on descend sur ce nœud depuis son père. La liste préfixée est donc la suivante: Question H. 1,,,,, 2,, 0,, 3, 4,,, La construction de l'arbre à partir de sa liste préfixée redonne l'arbre initial, ce qui est toujours le cas. En effet, dans la liste préfixe, tout nœud est avant ses descendants. Au moment où on ajoute un nœud en feuille, tous ses ascendants sont déjà dans l'arbre et aucun de ses descendants. Question I. La suppression dans un arbre binaire de recherche consiste d'abord à recherche le nœud à supprimer. S'il a deux fils, on le remplace par l'extrémité du bord gauche du sous arbre droit, et on supprime cette extrémité. Le nœud à supprimer, que ce soit le nœud initial ou l'extrémité du bord droit a ainsi au plus un fils. Il suffit alors de remonter le fils restant à la place du nœud à supprimer. Question J. La suppression de dans le dernier arbre obtenu dans la question H, commence par sa recherche. Il s'agit du fils droit de 1, et il a deux fils. On remplace sa valeur par l'extrémité du bord gauche du sous arbre droit, donc par 3, et on supprime cette extrémité qui n'a pas de fils. L'arbre obtenu est le suivant. 1 3 2 0 4 - -