Necesito una fórmula general para calcular la altura mínima del árbol binario y la altura máxima del árbol binario. (no es el árbol de búsqueda binario)Altura del árbol binario
Respuesta
Piensa cómo puede cambiar la estructura del árbol.
Por ejemplo, si el árbol está completamente desequilibrado, este es el peor de los casos: cada nodo tendrá exactamente un hijo. En el mejor de los casos, el árbol se completa de forma equilibrada y cada nodo tiene dos hijos.
Dado que suena como tarea, la dejo allí.
La altura máxima es n y la altura min (es decir, un árbol binario perfecto) es el (base 2 log (n + 1)) - 1
La altura mínima es de la fórmula n = 2^(h + 1) -1 solo resuelve h. –
Si tiene N elementos, la altura mínima de un binario el árbol será log2 (N) +1.
Para un árbol binario completo, la altura máxima será N/2.
Para un árbol binario no completa, la altura máxima será de N.
En primer lugar puede haber alguna diferencia en cuanto a cómo la informática calcula la altura de un árbol, frente a la altura manera se determina en discreta matemáticas (teoría de grafos), esto puede ser debido a la existencia de datos en cualquier nodo (o vertice), mientras que en matemáticas, es un enfoque teórico puro.
Así que tal vez sea mejor que aclare cuál necesita.
En matemáticas discretas, los árboles se clasifican como árboles m-ary, por lo que un árbol bin-ary es un árbol 2-aria. También a cualquier altura dada, puede haber a lo sumo 2^h = L (hojas). Esto es importante de notar, ya que confirma que la raíz está en la altura cero, por lo tanto 2^0 = 1 hoja ... 1 vértice ... la raíz.
n vértices Así dadas, la altura de un árbol está dada por la fórmula n = 2^(h + 1) - 1
Puesto que usted está buscando h, usted tiene que tomar el log2 de ambos lados de la fórmula n = 2^(h + 1) - 1
Para un árbol binario completo, la altura máxima es log2 (n + 1) = log2 (2^(h + 1)) esta es igual al techo (log2 (n + 1) - 1) = h
Para un árbol binario no completo, la altura máxima = (n - 1) por lo tanto, si tiene n vértices, la raíz debe restarse para obtener la altura máxima, debido a la fórmula anterior (2^h = L)
Para alturas mínimas, extrapole de las reglas anteriores.
La altura mínima es h = techo (log (n + 1)/log (2) -1) para cualquier árbol binario.
Si una raíz puede tener cualquier número de hojas de hasta 2 (0,1,2) entonces:
- La altura máxima es n-1. Este es el caso cuando su árbol tiene una sola hoja. Ningún nodo tiene más de una rama.
- La altura mínima es [log2 (n)] donde [x] es la parte entera de x.
Para obtener una altura mínima, cada raíz debe tener tantas ramas como sea posible. En este caso, notará que para n = 1, height = 0; para n = 2 a n = 3, altura = 1; para n = 4 a n = 7, altura = 2; para n = 8 para n = 15, altura = 3 etc.
este modo se puede observar que, para cada n, existe ap tal que:
2^p < = n < 2^(p + 1) yp = altura, por lo que height = [log2 (n)]
N - número de nodos.
H - altura del árbol binario.
completa Binary Tree:
Luego, con la altura H N sería estar entre:
2^H <= N <= (2^(H+1) - 1)
Por lo tanto, la solución de esta desigualdad; obtenemos:
H <= lg(N) and H >= (lg(N+1) - 1)
De ahí que por fin tenemos:
H = floor(lg(N)) = ceil((lg(N+1) - 1)) //as H is integer
(lg: log de base 2)
Binary Tree (no necesariamente completar):
Max height = N;
Min Height = floor(lg(N)) = ceil((lg(N+1) - 1))
Obtenemos altura mínima cuando se completa el árbol binario.
Con n-nodes
, la altura máxima posible es floor(log(n))
= ceil (log(n+1))-1
.
Con n-nodes
, la altura mínima posible es n-1
.
- 1. Árbol binario del árbol general
- 2. límite de impresión del árbol binario
- 3. Haskell: Acoplar árbol binario
- 4. Transferencia de árbol binario
- 5. Árbol binario GraphViz árbol izquierdo y derecho
- 6. Cómo crear un árbol binario
- 7. Árbol binario usando PHP + MySQL
- 8. Sumas equilibradas en árbol binario
- 9. ¿Cómo implementar un árbol binario?
- 10. Atravesando un árbol binario recursivamente
- 11. Encontrando altura en Árbol de búsqueda binaria
- 12. Creando árbol de suma de Scala árbol binario
- 13. Equilibrio de un árbol binario (AVL)
- 14. Altura promedio de un árbol de búsqueda binaria
- 15. Complejidades de recorridos de árbol binario
- 16. Almacenamiento de matriz eficiente para árbol binario
- 17. menos unario y binario en Parse árbol
- 18. Tabla hash vs Árbol binario balanceado
- 19. Imagen de espejo de un árbol binario
- 20. Encontrar un bucle en un árbol binario
- 21. ¿Cómo copiar el directorio desde el árbol de fuentes al árbol binario?
- 22. ¿Se puede cruzar un árbol no binario en orden?
- 23. altura de un árbol con sólo un nodo
- 24. ¿Cómo se hace un árbol de búsqueda binario en Clojure?
- 25. ¿Cómo determinar si un árbol binario está completo?
- 26. Recorrido de orden de nivel de un árbol binario
- 27. Buscando una biblioteca java que haya implementado el árbol binario
- 28. encontrando dos elementos más distantes en un árbol binario
- 29. ¿Cómo representar un árbol binario con tablas (html)?
- 30. Encuentra la mediana en O (1) en el árbol binario
Necesitará ser más específico. – Amber