¿Cómo se puede 'equilibrar' un árbol de búsqueda ternario? La mayoría de las implementaciones de tst no abordan el equilibrio, pero sugieren insertarlas en un orden óptimo (que no puedo controlar)Equilibrar un árbol de búsqueda ternario
Respuesta
El artículo en el Dr. Dobbs sobre Ternary Search Trees dice: D.D. Sleator y R.E. Tarjan describe algoritmos de equilibrio teóricos para árboles de búsqueda ternarios en "árboles de búsqueda binaria autoajustables" (Journal of the ACM, julio de 1985). Puede encontrar versiones en línea de este documento con su motor de búsqueda favorito.
Una generalización del árbol de búsqueda binaria es B-Tree, que funciona para fanouts desde 2 en adelante. Esa no es la única forma de hacerlo, pero es común.
En términos generales, la forma en que funciona es que si un inserto o eliminación pone al árbol fuera de balance, roba un elemento o un espacio de un nodo vecino. Si incluso eso no es suficiente para mantener el árbol en equilibrio, se cambiará su altura para hacer espacio.
El OP habla de árboles de búsqueda ** ternarios **. – hmuelner
No estoy del todo claro acerca de cómo un 1-2 B-Tree difiere de un árbol ternario. Me lo puedes explicar? – SingleNegationElimination
Un B-Tree (normalmente) contiene las claves completas en los nodos. En un árbol de búsqueda ternario, la clave está definida por la ruta al nodo. – hmuelner
lea este artículo:
"auto-ajustable de búsqueda intenta ternario El uso de condicionales rotaciones y aleatorizado Heurística" por "Ghada Hany * Badr y B. John Oommen †"
que le ayudará para entender TST autoajustable y equilibrado.
- 1. ternario Búsqueda Árbol
- 2. búsqueda binaria vs árbol de búsqueda binaria
- 3. Implementando un árbol de búsqueda binaria equilibrado?
- 4. Centro de búsqueda del árbol
- 5. búsqueda binaria Árbol Transversal - preorden
- 6. Búsqueda recursiva de un nodo en un árbol no binario
- 7. Tiempos de búsqueda para el árbol de búsqueda binaria
- 8. árbol de búsqueda Guardar estado de ejecución
- 9. Se permite volver a equilibrar std :: map después de operaciones de solo lectura (como un árbol Splay)
- 10. Árbol de búsqueda binaria para la intención específica
- 11. Creación de un árbol de búsqueda binaria equilibrada
- 12. Altura promedio de un árbol de búsqueda binaria
- 13. Ruta de búsqueda de algoritmo en un árbol no dirigido
- 14. javascript implementación del árbol de búsqueda binaria
- 15. Encontrando altura en Árbol de búsqueda binaria
- 16. árbol de búsqueda binaria en C# Implementación
- 17. Árbol de búsqueda binaria en C
- 18. Encontrar un algoritmo para equilibrar este juego
- 19. comparar Hash con árbol de búsqueda binaria
- 20. Crear un árbol de búsqueda binaria equilibrada a partir de una secuencia de enteros
- 21. ¿Cómo se hace un árbol de búsqueda binario en Clojure?
- 22. Java: ¿Cómo implemento un árbol genérico de búsqueda binaria?
- 23. ¿Hay un árbol de búsqueda binaria incorporado en .NET 4.0?
- 24. Realización de un gráfico ternario
- 25. balanceando un árbol AVL (C++)
- 26. Equilibrio de un árbol binario (AVL)
- 27. Un ternario en las plantillas
- 28. ¿Alguna sugerencia distribuida de algoritmo de búsqueda en árbol paralelo?
- 29. ¿Qué es un árbol B *?
- 30. ¿Qué es un "nodo interno" en un árbol de búsqueda binario?
¿Qué tamaño tiene un árbol de búsqueda? –
Un par de miles de palabras que van desde 4 hasta 20 caracteres. No estoy seguro si eso es grande o pequeño, pero es grande para mí. – uroc
Suena como tirar el árbol cuando llega a cierto punto y reemplazarlo con un árbol construido con "el orden óptimo" es su mejor opción: debería tomar milisegundos, si puede dedicarle tiempo. –