Le nombre d'arbres binaires peuvent être calculés en utilisant le catalan nombre.
Le nombre d'arbres binaires peut être vu comme une solution récursive.
c'est à dire, le Nombre d'arbres binaires = (Nombre de Gauche de recherche binaire de sous-arbres) * (Nombre de Droit binaire de recherche sous-arbres) * (Façons de choisir la racine)
Dans un BST, seul l'ordre relatif entre les éléments de la matière. Donc, sans aucune perte sur la généralité, nous pouvons supposer que les éléments distincts dans l'arbre sont 1, 2, 3, 4, ...., n. Aussi, laissez-le nombre de BST être représenté par f(n) pour n éléments.
Maintenant, nous avons plusieurs cas de choix de la racine.
- choisissez 1 comme racine, aucun élément peut être inséré sur la gauche du sous-arbre. n-1 éléments seront insérés sur le droit de la sous-arborescence.
- Choisissez 2 en tant que root, 1 élément peut être inséré sur la gauche du sous-arbre. n-2 éléments peuvent être insérés sur le droit de la sous-arborescence.
- Choisissez 3 en tant que root, 2 élément peut être inséré sur la gauche du sous-arbre. n-3 éléments peuvent être insérés sur le droit de la sous-arborescence.
...... De même, pour le i-ème élément de la racine, i-1 les éléments peuvent être, sur la gauche, et les n-i sur la droite.
Ces sous-arbres sont elle-même de la STB, ainsi, nous pouvons résumer la formule:
f(n) = f(0)f(n-1) + f(1)f(n-2) + .......... + f(n-1)f(0)
De la Base de cas,
f(0) = 1, il y a exactement 1 façon de faire un BST avec 0 nœuds.
f(1) = 1, il y a exactement 1 façon de faire un BST avec 1 noeud.
![Final Formula]()