En el caso del menor número de nodos, la diferencia de altura entre los subárboles izquierdo y derecho es 1, por lo que el número total de nodos es S(n) = S(n-1) +S(n-2)+1.
Valores iniciales: S(1) = 1, S(2) = 2. S(3) = 4, S(4) = 7, S(5) = 12, S(6) = 20, S(7) = 33, S(8) = 54.
El número mínimo de nodos para un árbol binario equilibrado de altura 8 es 54.
Si la altura del árbol es relativamente grande, se puede calcular según la siguiente fórmula:
S(n)= S(n-1)+S(n- 2)+1, similar a la secuencia de Fibonacci (F(n)=F(n-1)+F(n-2)), S se puede obtener por inducción.
Datos extendidos:
Tiene las siguientes propiedades: es un árbol vacío o el valor absoluto de la diferencia de altura entre sus subárboles izquierdo y derecho no supera 1, y el izquierdo y los subárboles derechos son árboles binarios equilibrados. Los métodos de implementación comunes de árboles binarios equilibrados incluyen árboles rojo-negro, AVL, árboles de chivo expiatorio, Treap, árboles extendidos, etc. ?
Función
Sabemos que para un árbol de búsqueda binaria general, su altura esperada (es decir, cuando es un árbol equilibrado) es log2n, y la complejidad temporal de cada operación es (O(log2n)) también está determinado por esto. Sin embargo, en algunos casos extremos (como cuando se inserta clasificación de secuencia), el árbol de búsqueda binaria degenerará en una cadena o cadena aproximada. En este momento, la complejidad temporal de su operación degenera a lineal, es decir, O (n).
Podemos intentar evitar esta situación construyendo aleatoriamente un árbol de búsqueda binario, pero después de muchas operaciones, siempre elegimos reemplazarnos con el sucesor del nodo que se eliminará al eliminar, por lo que esto provocará que El número de nodos en el lado derecho disminuye, lo que hace que el árbol se hunda hacia la izquierda. Esto también destruirá el equilibrio del árbol y aumentará la complejidad temporal de su operación.
Un árbol binario balanceado tiene las siguientes propiedades: es un árbol vacío o el valor absoluto de la diferencia de altura entre sus subárboles izquierdo y derecho no excede 1, y los subárboles izquierdo y derecho son ambos binarios balanceados. árboles. Los algoritmos comúnmente utilizados incluyen árboles rojo-negro, AVL, Treap, árboles extendidos, etc. En el árbol de búsqueda binario equilibrado, podemos ver que su altura generalmente se mantiene en O (log (n)), lo que reduce en gran medida la complejidad temporal de la operación.