¿Cuáles son las ventajas de almacenar todos los elementos de los nodos de la hoja?

votos
13

Estoy leyendo Estructuras de Datos Avanzadas de Peter Brass.

En el comienzo del capítulo sobre los árboles de búsqueda, afirmó que hay dos modelos de árboles de búsqueda - uno donde los nodos contienen el objeto real (el valor si el árbol se utiliza como un diccionario), y otro donde se almacenan todos los objetos de hojas y nodos internos son sólo para las comparaciones.

¿Cuáles son las ventajas del segundo modelo sobre el primero?

Publicado el 14/10/2010 a las 18:57
fuente por usuario
En otros idiomas...                            


4 respuestas

votos
0

información bien el almacenamiento de objetos en los nodos, se habla en este caso de un trie, es ventajosa para retrival rápida de la información (más rápido que el almacenamiento de material en una matriz / tabla hash, donde el peor de los casos auf acces es O (n), en el trie esto es O (m) [m es la longitud de n])

mira aquí: https://en.wikipedia.org/wiki/Trie

En un árbol de búsqueda este oerations pueden ser mucho más complicado (busque AVL Árbol de O (log n)) y por lo tanto puede ser más lento y es más compley de implementar.

¿Qué estructura de datos para elegir ?? Bueno, esto depende de lo que quieres hacer

Respondida el 14/10/2010 a las 19:15
fuente por usuario

votos
9

Una de las grandes ventajas de un árbol binario en el que los datos sólo en los nodos de la hoja es que se puede partición basada en elementos que no están en el conjunto de datos.

Por ejemplo, si tengo un posible conjunto de datos de 0-1 millones de dólares, pero la gran mayoría de los artículos son o bien en la parte alta o de gama baja, pero no en el medio, todavía puede querer mi primer comparar contra 500.000 - a pesar de que el número de no está en mi conjunto de datos . Si todos los nodos de datos tenía, no podía hacerlo. Aunque normalmente no es necesaria en teoría, me he encontrado muchas veces que la partición sobre la base de un valor fuera de mis datos implementación sencilla.

Respondida el 14/10/2010 a las 19:15
fuente por usuario

votos
3

B + árboles son un ejemplo de un caso en el que se almacenan todos los / valores clave en nodos hoja. La principal ventaja aquí es que ya que todos los artículos están en los nodos hoja, los nodos hoja pueden ser unidos entre sí para formar una lista enlazada que permite una rápida traversal en orden. Si accede a un elemento en particular, siempre se puede encontrar el siguiente elemento de la secuencia sin visitar ningún padres porque los nodos de hoja están unidos entre sí. Los sistemas de archivos y sistemas de almacenamiento de base de datos pueden tomar ventaja de estas estructuras para búsquedas por rango y esas cosas.

Respondida el 29/11/2011 a las 12:07
fuente por usuario

votos
1

Digamos que usted está construyendo árbol sobre algunos objetos en algunos criterios complejos. Por ejemplo calculado a partir de múltiples propiedades. A veces no se puede cambiar este objeto para almacenar el valor calculado y el cálculo de este criterio es expansiva. Por lo que el cálculo de este criterio sólo una vez, y almacenar los objetos en hojas en base a criterios de resultado. Después, cuando el árbol está terminada, se puede encontrar el objeto requerido mucho más rápido, ya que no tiene que calcular los criterios para cada nodo del árbol en su camino.

Respondida el 29/11/2011 a las 17:55
fuente por usuario

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