6.7. Arbres binaires de recheche#

6.7.1. Définition#

Definition 6.1 (arbre binaire de recherche)

Un arbre binaire de recherche est un arbre binaire dans lequel, on a la propriété suivante pour tout nœud e :

  • tous les nœuds du sous arbre gauche ont une valeur inférieure à la valeur de e

  • tous les nœuds du sous arbre droite ont une valeur supérieure ou égale à la valeur de e

_images/d3f7c27a4b52be9eac329e058be194a65ca3f9b642081b395dc95e718589d975.svg
_images/972d244152f080db8cdb79b9fe0d3ad1432542c521289e249c23a857f41a97a5.svg

sont des arbres binaires de recherche. En revanche

_images/23bd7991a849814cadec9c45b6144b3981f93734803ebdc042508287905c3af6.svg

n’en est pas un.

Exercise 6.1

Donner tous les arbres binaires de recherche à 3 éléments

6.7.2. Recherche dans un ABR#

Écrire une fonction appartient qui permet de chercher dans un ABR

def appartient(x,abr):
  pass
_images/e13a919859a612e65a6145bb44ea749e46344cf3a0a0b418714c01b70c00e86f.svg

Le code suivant

appartient(8,abr)

renvoie , alors que le code

appartient(7,abr)

renvoie .

6.7.3. Complexité de la recherche dans un ABR#