Exercice pris dans le sujet 0 de l'épreuve terminale de NSI – Exercice 3
Dans cet exercice, on utilisera la convention suivante : la hauteur d'un arbre binaire ne comportant qu'un nœud est 1.
On décide de numéroter en binaire les nœuds d'un arbre binaire de la façon suivante :
0 à droite au numéro de son père ;1 à droite au numéro de son père ;Par exemple, dans l’arbre ci-dessous, on a utilisé ce procédé pour numéroter les nœuds A, B, C, E et F.
$$h \leqslant n \leqslant 2^{h − 1}$$
Un arbre binaire est dit complet si tous les niveaux de l’arbre sont remplis.
On décide de représenter un arbre binaire complet par un tableau de taille n + 1, où n est la taille de l’arbre, de la façon suivante :
On se place dans le cas particulier d'un arbre binaire de recherche complet où les nœuds contiennent des entiers et pour lequel la valeur de chaque nœud est supérieure à celles des nœuds de son fils gauche, et inférieure à celles des nœuds de son fils droit.
Écrire une fonction recherche ayant pour paramètres un arbre arbre et un élément element. Cette
fonction renvoie True si element est dans l'arbre et False sinon. L'arbre sera représenté par un tableau comme dans la question précédente.