Prueba de profundidad del árbol de búsqueda equilibrado

votos
2

Si T es una BST balanceada con n elementos, L su subárbol izquierdo y R es la derecha, ¿cómo puedo probar que su profundidad es menor o igual que 2log (n) + 1?

Hay una prueba por inducción que tengo pero no la obtengo.

(Entiendo que stackoverflow está principalmente orientado a la programación, pero encontré algunas preguntas sobre los árboles de búsqueda binaria y decidí intentarlo, espero no estar haciendo algo que no sea bueno :))

Publicado el 08/11/2009 a las 00:38
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
2

Por definición de "equilibrado", las profundidades de cada subárbol izquierdo y derecho del mismo nodo difieren a lo sumo en uno. "Profundidad" normalmente se define como "número de pasos más largos desde la raíz del árbol hasta la hoja", por lo que una BST con una raíz y dos hojas (tres elementos de la única forma en que se pueden organizar en una BST balanceada) es dice que tiene profundidad uno (parece que está usando una definición ligeramente diferente que le daría profundidad dos), como lo haría uno con una raíz y una hoja (si esa hoja es el subárbol izquierdo o derecho de la raíz no hace diferencia), mientras que uno con solo una raíz que también es una hoja (un solo elemento) tendría profundidad 0. (No hay BST con cero elementos).

Entonces para n <= 3 elementos, llamar D (n) la profundidad del árbol como se define arriba, claramente D(n) < log(n) + 1(con logsignificado logaritmo de base-2) por inspección, ya que 1 = D(2) < log(2) + 1 = 2(y también 1 = D(3)para el cual RHS de desigualdad, log(3) + 1de hecho es > 2), y 0 = D(1) < log(1) + 1 = 1- esto nos da la base de inducción.

Para completar la prueba por inducción tenemos que mostrar que, si D(k) < log(k) + 1para todos k < n, también se sigue eso D(n) < log(n) + 1.

Si n es impar, el subárbol claramente izquierdo y derecho tiene (n-1)/2elementos cada uno, y el árbol tiene una profundidad 1 más que los subárboles; pero luego D(n) = 1 + D((n-1)/2) < 1 + 1 + log((n-1)/2)(por la hipótesis de inducción) = 1 + log(n-1)(desde log((n-1)/2) = log(n-1) - 1) y por lo tanto a fortiori < 1 + log(n), QED.

Si nes aún sigue sólo con los mismos pasos log(n)en lugar de log(n-1)y sin la "a fortiori" acabado, y prueba de ello todavía mantiene.

Respondida el 08/11/2009 a las 01:37
fuente por usuario

votos
0

Su respuesta es cierto si árbol binario equilibrado se ha completado el número de elementos en la derecha y sub-árbol izquierdo puede ser (n-1) / 2, pero si no es completo, el número de elementos es necesario ser (n-1) / 2 como último nivel puede tener diferentes elementos

Respondida el 04/08/2016 a las 13:10
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more