Arbres - ABR
I. Objectifs des ABR ou Arbres Binaires de Rechercheâïž
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 verrons. Le principe reste identique.
Rappelons que l'informatique est encore jeune, et qu'il suffit de respecter les définitions ,données dans chaque contexte.
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 ...
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