Diferencia entre árboles AVL y árbol biselado

votos
31

Estoy estudiando acerca de varios árboles, y se encontró con árboles AVL y árbol biselado. quiero saber

  1. ¿Cuál es la diferencia entre los árboles AVL y árbol biselado?
  2. ¿En base a qué seleccionar estos árboles?
  3. ¿Cuáles son de positivos y negativos de de estos árboles?
  4. ¿Cuáles son las actuaciones de estos árboles en términos de la notación O grande?
Publicado el 19/09/2011 a las 07:12
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
3

1) ¿Cuál es la diferencia entre los árboles AVL y árbol biselado?

Son similares en estructura y las operaciones que llamamos en ellos. La diferencia es que en el árbol biselado, después de cada operación, tratamos de mantener el árbol casi perfectamente equilibrado para que las operaciones futuras toman menos tiempo.

2) ¿En qué nos basamos para seleccionar estos árboles?

árbol biselado son siempre mejores que los árboles binarios de búsqueda cuando, maneja su aplicación una gran cantidad de datos en el árbol, pero, tendrá acceso a un subconjunto de los datos con mucha frecuencia que otros. En este caso los datos se accede con frecuencia se acercará a la raíz como consecuencia del ensanchamiento. También, cualquier nodo a continuación, se puede acceder con menos tiempo que antes.

Como regla general para la selección de estos árboles, si necesita tiempo "promedio" log (n) durante un período de operaciones de árboles a continuación, utilizar árbol biselado. árbol binario no puede garantizar esto.

3) ¿Cuáles son de positivos y negativos de de estos árboles?

Positivos para ambos es que se obtiene alrededor de log (n) en estas dos estructuras de datos teóricamente.

Como árbol biselado mencionados tienen log media (n) más de un número de operaciones. Esto significa que, tal vez usted tiene n tiempo la complejidad de una operación al menos una vez en ese conjunto. Pero esto se compensa cuando se accede a los elementos frecuentes.

La negativa del árbol de búsqueda binaria es que, tiene que ser la suerte de tener log (n) siempre. Si las claves no son al azar, entonces el árbol se reducirá a una lista como la forma de un solo lado.

4) ¿Cuáles son las actuaciones de estos árboles en términos de la notación O grande?

Acceder árbol biselado (n) el promedio de un grupo de operaciones de los árboles. Acceder árbol binario (n) sólo si las llaves van en al azar.

Los resultados en el tiempo de ejecución son evidentes aquí Splay árbol runtime de perfiles Se puede ver la diferencia en tiempo de ejecución en la búsqueda con y sin ensanchamiento.

Respondida el 18/01/2012 a las 04:40
fuente por usuario

votos
61

  1. Ambos árbol biselado y árboles AVL son árboles binarios de búsqueda con excelentes garantías de rendimiento, pero difieren en la forma en que logran los garantizan que el rendimiento. En un árbol AVL, la forma del árbol se ve limitada en todo momento de manera que la forma del árbol es equilibrada, lo que significa que la altura del árbol nunca excede de O (log n). Esta forma se mantiene en las inserciones y deleciones, y no cambia durante operaciones de búsqueda. árbol biselado, por el contrario, mantienen eficiente mediante la remodelación del árbol en respuesta a las búsquedas en él. De esta manera, los elementos de acceso frecuente moverse hacia la parte superior del árbol y tener mejores tiempos de búsqueda. La forma del árbol biselado no se ve limitada, y varía en función de lo que se llevan a cabo operaciones de búsqueda.

  2. No hay ninguna regla dura y rápida sobre esto. Sin embargo, una diferencia clave entre las estructuras es que los árboles AVL garantizan búsqueda rápida (O (log n)) en cada operación, mientras árbol biselado sólo pueden garantizar que cualquier secuencia de operaciones n toma como máximo O (n log n) tiempo. Esto significa que si usted necesita las búsquedas en tiempo real, el árbol AVL es probable que sea mejor. Sin embargo, árbol biselado tienden a ser mucho más rápido en promedio, por lo que si desea reducir al mínimo el tiempo de ejecución total de las búsquedas de los árboles, el árbol biselado es probable que sea mejor. Además, árbol biselado soportan algunas operaciones tales como dividir y combinar de manera muy eficiente, mientras que las correspondientes operaciones de árboles AVL son más complicados y menos eficiente. árbol biselado son más eficientes que la memoria-árboles AVL, porque no necesitan almacenar información del saldo en los nodos. Sin embargo, árboles AVL son más útiles en entornos multiproceso con una gran cantidad de operaciones de búsqueda, ya que las búsquedas en un árbol AVL se pueden hacer en paralelo, mientras que no puede en árbol biselado. Debido árbol biselado remodelar su vez se basan en las búsquedas, si sólo necesita acceder a un pequeño subconjunto de los elementos del árbol, o si tiene acceso a algunos elementos mucho más que otros, el árbol biselado superará el árbol AVL. Por último, árbol biselado tienden a ser más fácil de implementar que los árboles AVL, ya que la lógica de rotación es mucho más fácil. el árbol biselado superará el árbol AVL. Por último, árbol biselado tienden a ser más fácil de implementar que los árboles AVL, ya que la lógica de rotación es mucho más fácil. el árbol biselado superará el árbol AVL. Por último, árbol biselado tienden a ser más fácil de implementar que los árboles AVL, ya que la lógica de rotación es mucho más fácil.

  3. Ver (2)

  4. inserción AVL árbol, deleción, y las búsquedas toman tiempo O (log n) cada uno. árbol biselado tienen estas mismas garantías, pero la garantía es sólo en un sentido amortizado. Cualquier larga secuencia de operaciones se llevará a más tiempo O (n log n), pero las operaciones individuales podría tomar tanto como tiempo O (n).

¡Espero que esto ayude!

Respondida el 04/02/2012 a las 23:06
fuente por usuario

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