Arbres - ABR
I. Objectifs des ABR ou Arbres Binaires de Rechercheâïž
ABR
đ Un arbre binaire de recherche (ABR) est un arbre binaire dans lequel chaque nĆud possĂšde une clĂ©, telle que chaque nĆud du sous-arbre gauche ait une clĂ© strictement infĂ©rieure Ă celle du nĆud considĂ©rĂ©, et que chaque nĆud du sous-arbre droit possĂšde une clĂ© supĂ©rieure ou Ă©gale Ă celle-ci â selon la mise en Ćuvre de l'ABR, on pourra interdire ou non des clĂ©s de valeur Ă©gale.
đ Un arbre binaire de recherche permet des opĂ©rations rapides pour rechercher une clĂ©, insĂ©rer ou supprimer une clĂ©.
Source : https://fr.wikipedia.org/wiki/Arbre_binaire_de_recherche
Source de l'image : http://ressources.unisciel.fr/algoprog/s46bst/emodules/br00macours1/res/br00cours-texte-xxx.pdf
DĂ©finition
En informatique, un arbre binaire de recherche ou ABR (en anglais, binary search tree ou BST) est une structure de données représentant un ensemble dont les clés appartiennent à un ensemble totalement ordonné.
Les opĂ©rations caractĂ©ristiques sur les arbres binaires de recherche sont lâinsertion, la suppression, et la recherche dâune valeur. Ces opĂ©rations sont peu couteuses si lâarbre nâest pas trop dĂ©sĂ©quilibrĂ©.
đĄ En pratique, les valeurs sont des clĂ©s permettant dâaccĂ©der Ă des enregistrements.
DĂ©finition d'un ABR
Un arbre binaire de recherche est un arbre binaire dont les valeurs des nĆuds (valeurs qu'on appelle Ă©tiquettes, ou clĂ©s) vĂ©rifient la propriĂ©tĂ© suivante :
- l'Ă©tiquette d'un nĆud est supĂ©rieure ou Ă©gale Ă celle de chaque nĆud de son sous-arbre gauche.
- l'Ă©tiquette d'un nĆud est strictement infĂ©rieure Ă celle du chaque nĆud de son sous-arbre droit.
-
à noter que l'arbre 3 (qui est bien un ABR) est appelé arbre filiforme.
-
L'arbre 5 n'est pas un ABR Ă cause de la feuille 9, qui fait partie du sous-arbre gauche de 3 sans lui ĂȘtre infĂ©rieure.
-
Remarque : on pourrait aussi définir un ABR comme un arbre dont le parcours infixe est une suite croissante.
Une définition plus "mathématique"
Soit E un ensemble muni dâune relation dâordre total, et soit A un arbre binaire portant des valeurs de E. Lâarbre A est un arbre binaire de recherche si pour tout nĆud p de A, la valeur de p est strictement plus grande que les valeurs figurant dans son sous-arbre gauche et strictement plus petite que les valeurs figurant dans son sous-arbre droit. Cette dĂ©finition suppose donc quâune valeur nâapparaĂźt au plus quâune seule fois dans un arbre de recherche.
â ïž Attention, nous verrons dans ce cours d'autres dĂ©finitions possibles des ABR, lĂ©gĂšrement diffĂ©rentes (possibilitĂ©s de clĂ©s identiques notamment, que l'on peut appeler des "doublons").
đ A chaque fois, la dĂ©finition des ABR sera prĂ©cisĂ©e.
II. Utilisation de binarytree pour crĂ©er un ABR et rechercher une clĂ©âïž
đ Voici une correction ...
Vidéo Lumni
Dans la vidéo qui suit, la définition d'un ABR est légÚrement différente de celle que nous venons de voir.
III. ImplĂ©mentation itĂ©rative et rĂ©cursive d'un ABR, recherche de clĂ© et insertionâïž
đ Voici une correction ...
IV. Utilisation d'un ABRâïž
â Avant de commencer
Vous devez travailler sur Basthon
TĂ©lĂ©charger dans le mĂȘme dossier :
-
đ Fichier
liste_mots.txt
: "Clic droit", puis "Enregistrer la cible du lien sous" -
đ TD
TP3_ABR_sujet.ipynb
: "Clic droit", puis "Enregistrer la cible du lien sous"
đ Voici une correction ...
-
đ Fichier
liste_mots.txt
: "Clic droit", puis "Enregistrer la cible du lien sous" -
đ Correction du TD
TP3_ABR_corr.ipynb
: "Clic droit", puis "Enregistrer la cible du lien sous"
V. Bilanâïž
â A noter :
đ Un arbre binaire de recherche (ABR) est une structure qui permet une recherche de façon trĂšs efficace .
đ La recherche dans un ABR Ă©quilibrĂ© est de coĂ»t logarithmique
CrĂ©ditsâïž
Jean-Louis Thirot , Mireille Coilhac, Valérie Mousseaux, Gilles Lassus