Aller au contenu

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 sur Lumni

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

ABR 1

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.

exABR.png

  • À 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 :

😀 Voici une correction ...

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