Un árbol exponencial es un tipo de árbol de búsqueda donde el número de hijos de sus nodos disminuye exponencialmente al aumentar la profundidad. Los valores se almacenan únicamente en los nodos hoja. Cada nodo contiene un divisor, un valor menor o igual a todos los valores del subárbol que se utiliza durante la búsqueda. Los árboles exponenciales utilizan otra estructura de datos en los nodos internos que contienen los divisores de los hijos, lo que permite una búsqueda rápida.
Los árboles exponenciales alcanzan una complejidad asintótica óptima en algunas operaciones. Su importancia es principalmente teórica.
Estructura del árbol
Un árbol exponencial es un árbol con raíz donde cada nodo contiene un divisor y cada nodo hoja contiene un valor. El valor puede ser diferente del divisor. Un árbol exponencial conLos valores se definen recursivamente:
- La raíz tieneniños
- El divisor de la raíz es el mismo que el divisor del hijo más a la izquierda.
- Los divisores de todos los hijos se almacenan en una estructura de datos local.
- Los subárboles son árboles exponenciales convalores
Una condición adicional es que la búsqueda de un valor utilizando los divisores debe producir el nodo correcto (es decir, el que contiene el valor). Por lo tanto, si una raíz de un subárbol contiene el divisory su hermano derecho contiene el divisor, entonces este subárbol solo puede contener claves en el rango.
Estructura de datos local
El árbol utiliza una estructura de datos estática en cada nodo interno para permitir una búsqueda rápida de valores. Debe ser posible construir esta estructura convalores en el tiempoEl tiempo de búsqueda en esta estructura se denota.
Un árbol Fusion puede utilizarse como esta estructura de datos.
Operaciones
Buscar
El árbol exponencial se puede explorar de la misma manera que un árbol de búsqueda normal. En cada nodo, se puede utilizar la estructura de datos local para encontrar rápidamente el siguiente hijo.
DejarDenotamos la complejidad temporal de la búsqueda. Entonces satisface la siguiente recurrencia:
Insertar
Borrar
Referencias
- Andersson, Arne (octubre de 1996). «Clasificación y búsqueda deterministas más rápidas en espacio lineal». Actas de la 37.ª Conferencia sobre Fundamentos de la Informática . págs. 135-141 . doi : 10.1109/SFCS.1996.548472 . ISBN 0-8186-7594-2. S2CID 13603426 .
- Andersson, Arne; Thorup, Mikkel (2007-06-01). "Conjuntos ordenados dinámicos con árboles de búsqueda exponenciales" . Journal of the ACM . 54 (3): 13–es. arXiv : cs/0210006 . doi : 10.1145/1236457.1236460 . ISSN 0004-5411 . S2CID 8175703 .
- Árboles (estructuras de datos)
- Algoritmos y estructuras de datos básicos