El número de árboles binarios se puede calcular utilizando la catalan number.
El número de árboles de búsqueda binarios se puede ver como una solución recursiva. es decir, número de árboles de búsqueda binaria = (Número de izquierda búsqueda binaria sub-árboles) * (Número de derecha binarios de búsqueda sub-árboles) * (maneras de elegir la raíz)
En un BST, solo importa el orden relativo entre los elementos. Entonces, sin ninguna pérdida en la generalidad, podemos suponer que los elementos distintos en el árbol son 1, 2, 3, 4, ...., n. Además, permita que el número de BST esté representado por f (n) para n elementos.
Ahora tenemos los casos múltiples para elegir la raíz.
- elegir 1 como root, ningún elemento se puede insertar en el sub-árbol izquierdo. n-1 se insertarán elementos en el subárbol de la derecha.
- Elija 2 como raíz, elemento se puede insertar en el subárbol izquierdo. n-2 Los elementos se pueden insertar en el subárbol de la derecha.
- Elija 3 como raíz, elemento se puede insertar en el subárbol de la izquierda. n-3 Los elementos se pueden insertar en el subárbol de la derecha.
...... mismo modo, para i-ésimo elemento como la raíz, i-1 elementos pueden ser de la izquierda y n-i a la derecha.
Estos sub-árboles son en sí BST, por lo tanto, podemos resumir la fórmula como:
f (n) = f (0) f (n-1) + f (1) f (n -2) + .......... + f (n-1) f (0)
casos base, f (0) = 1, ya que no es exactamente 1 manera de hacer una BST con 0 nodos. f (1) = 1, ya que hay exactamente 1 forma de hacer una BST con 1 nodo.
Alex, Gracias asignar. – siva
Recomiendo este artículo, que aborda muy bien este problema y describe el enfoque utilizando la recursión, así como la programación dinámica. Contar árboles de búsqueda binarios creados a partir de N elementos únicos http://techieme.in/count-binary-search-trees/ – dharam
la solución proporcionada aquí http://cslibrary.stanford.edu/110/BinaryTrees.html # 12 doesn No coincide con la solución proporcionada por calculado por número catalán. Eso es countTres (4) debe ser 5 no 14, ¿verdad? Pero devuelve 14. (Esta es la serie 1, 1, 2, 5, 14, 42, 132) – Joyce