Un arbre binaire est constitué de nœuds, où chaque nœud contient un pointeur "gauche", un pointeur "droit" et un élément de données. Le pointeur "racine" pointe vers le nœud le plus en haut de l'arbre. Les pointeurs gauche et droite pointent de manière récursive vers des "sous-arbres" plus petits de chaque côté. Un pointeur nul représente un arbre binaire sans éléments -- l'arbre vide. La définition récursive formelle est la suivante : un arbre binaire est soit vide (représenté par un pointeur nul), soit constitué d'un seul nœud, où les pointeurs gauche et droit (définition récursive à suivre) pointent chacun vers un arbre binaire.
Un arbre binaire de recherche (ABR) ou "arbre binaire ordonné" est un type d'arbre binaire où les nœuds sont disposés dans un ordre : pour chaque nœud, tous les éléments de son sous-arbre gauche sont inférieurs au nœud (<), et tous les éléments de son sous-arbre droit sont supérieurs au nœud (>).
5
/ \
3 6
/ \ \
1 4 9
L'arbre illustré ci-dessus est un arbre binaire de recherche -- le nœud "racine" est un 5, et ses nœuds du sous-arbre gauche (1, 3, 4) sont < 5, et ses nœuds du sous-arbre droit (6, 9) sont > 5. De manière récursive, chacun des sous-arbres doit également respecter la contrainte d'arbre binaire de recherche : dans le sous-arbre (1, 3, 4), le 3 est la racine, le 1 < 3 et 4 > 3.
Faites attention aux termes exacts utilisés dans les problèmes -- un "arbre binaire de recherche" est différent d'un "arbre binaire".