En informática , un montículo 2-3 es una estructura de datos que implementa una cola de prioridad . Es una variación del montículo , diseñado por Tadao Takaoka en 1999. La estructura es similar a un montículo de Fibonacci y toma prestadas ideas del árbol 2-3 .
El tiempo necesario para algunas operaciones comunes de montón es el siguiente.
- Eliminar-min tomatiempo amortizado y en el peor de los casos .
- La función de disminución de clave requiere un tiempo amortizado constante.
- La inserción requiere un tiempo amortizado constante ytiempo en el peor de los casos.
Polinomio de árboles
Fuente: [ 1 ]
Un árbol lineal de tamañoes una ruta secuencial denodos con el primer nodo como raíz del árbol y está representado por una negrita(p.ejes un árbol lineal de un solo nodo). Productode dos árbolesy, es un árbol producido al reemplazar cada nodo depor una copia de; para cada borde de, hay una ventaja enconectando las raíces de los árboles que reemplazaron los extremos de la arista. Esta definición de producto es asociativa pero no conmutativa. La sumade dos árbolesyes el bosque de los dos árbolesy.
La operaciónen los árbolesse define de la siguiente manera. El árbolse produce uniendo la raíz del árbolcomo hijo de la raíz del árbolAhora consideremos el árbol lineal.El árbolse define combinando r copias decomo sigue:
(evaluado de derecha a izquierda).
El camino creado a partir de este enlace forma elel tronco deque también puede llamarse eldimensión del árbol.
Un polinomio r-ario de árboles se define comodónde. Esta notación polinómica para árboles deLos nodos son únicos. El árbolconsta decopias dede tal manera que sus raíces estén conectadas conbordes secuencialmente. El camino de estosLos bordes se denominan tronco principal del árbol.. Además, un polinomio r-ario de árboles se denomina cola r-nomial si los nodos del polinomio de árboles están asociados con claves que satisfacen la propiedad de montón .

Operaciones en colas r-nomiales
Para fusionar dos términos de formay, los árboles se reordenan en el tronco principal en función de las claves en la raíz de los árboles. Sihabrá un plazo de formay un árbol de cargaDe lo contrario, solo hay un árbol.La suma de dos colas r-nomiales es similar a la suma de dos números en base 1..
La inserción de una clave en una cola polinomial es como fusionar un único nodo con la etiqueta de la clave en la cola r-nomial existente, tomando como referencia el nodo que contiene la etiqueta de la clave.tiempo.
Una operación de eliminación del mínimo se realiza encontrando el mínimo en la raíz de un árbol, por ejemploy eliminándolo. La cola polinómica resultantese vuelve a agregaren tiempo total.
Montón (2,3)
Fuente: [ 1 ]
Unárbolse define recursivamente por
La raíz del árboltiene títuloy puede estar formado por diferentes árboles de grado. La raíz dese denomina nodo de la cabeza delth tronco. La dimensión de los nodos que no son la cabeza en el tronco es, mientras que la dimensión del nodo de cabeza eso más grande, dependiendo de si se vuelve a vincular. El árbol de tipoen elel tronco deenraizado en un nodose llama.
De manera informal, unárbol de dimensiónse forma uniendo las raíces de 2 o 3 árboles de dimensiónen línea.
Un polinomio extendido de árboles,, se define por.

Cuando se asignan claves a los nodos de un polinomio extendido de árboles en orden de montón, se denominay el caso especial deyes un.

Espacio de trabajo de un nodo El espacio de trabajo de un nodoes el vecindario local, definido para los nodos que no están en los troncos principales de los árboles en el montón. Suponga la dimensión dees, de modo que esté en unth tronco. El espacio de trabajo deentonces consta de todos los nodos en elel tronco, elel tronco, y aquellos en otrosth troncos cuyos nodos de cabeza están en elEl tronco. El espacio de trabajo es entonces una colección de nodos de tamaño entre 4 y 9. El nodo cabeza del espacio de trabajo es el nodo en la primera posición delel tronco.
Operaciones en el montículo (2,3)
Inserción : Para insertar una nueva clave, fusione el montón (2,3) existente actualmente con un árbol de nodos único,etiquetado con esta clave. DesdeEn el polinomio extendido, podría ser necesario ajustar los árboles de acarreo que pueden ocurrir a partir de la inserción. Si un árbolSe está insertando en un árbol.En el nivel superior, hay tres casos, dependiendo del valor de.
- : no hay árbolya está en el montón, así que se inserta en el montón. El términose añade a nuestro polinomio extendido.
- : Formar un nuevo árboluniendo los dos árboles mediante una comparación para mantener la propiedad de ordenación del montón de las etiquetas.
- : Un acarreo dese realiza con dos comparaciones. Otra ronda de inserción se realiza con este árbol de acarreo enen el montón.
Eliminar mínimo : Primero encuentra el mínimo escaneando las raíces de los árboles. Seasea el árbol que contiene el elemento mínimo. Dado que este árbol existe, esto significaeraoEliminar la raíz de este árbol significa eliminar la raíz de la cadena lineal.copias de conexión de. Las otras copias dedar un árbol de la formadóndesiosi.
La raíz que se eliminó era también la raíz de la primera copia de, dando 2 o 3árboles. Siguiendo este patrón, terminamos con la colección de árboles.
dóndeesoparaycomo se especifica anteriormente.
Esta colección forma un montóncon luego se puede volver a fusionar conpara asegurar que solo se eliminara del montón el nodo mínimo. (La operación de fusión se realiza mediante múltiples inserciones, cada una de las cuales requiere como máximo 3 comparaciones).
Eliminación de un árbol : Los árboles enraizados en los troncos superiores del montón no se eliminan. Para eliminar el árbolde tipode un nodo, hay dos casos, uno donde el espacio de trabajo dees de talla 4, y otra donde la talla es mayor. Tenga en cuenta quees un nodo en unel tronco del montón.
En un espacio de trabajo de tamaño mayor a 4, elEl tronco tiene 2 o 3 nodos. Si tiene 3 nodos, entonces puede tener la formaoEn cualquier caso, eliminary encoger el tronco. Tenga en cuenta queno puede ser el primer nodo en elel tronco ya que ese nodo estaría en elEl tronco, que debe existir ya que los nodos en los troncos más superiores no se eliminan.
Si elEl tronco es de la formaluego eliminary dar cuenta de la pérdida de lael tronco moviéndose alrededor de otros árboles de tipoen el espacio de trabajo.
En el caso en que el espacio de trabajo tenga un tamaño de 4, eliminey reorganizar los otros tres nodos de manera que dos queden debajo del nodo principal del espacio de trabajo. Esto crea untronco de longitud dos (tres nodos en línea) pero causa una pérdida de unth tronco. Esta pérdida se soluciona moviendo árboles desde el espacio de trabajo de nodos en eldimensión n.º. Este proceso continúa ascendiendo en dimensión hasta que se resuelve.
Disminuir clave : asumir la clave del nodode dimensiónse reduce y no está en el nivel superior. Entoncesse retira y se inserta en elel término en el nivel superior del montón (es decir,en el polinomio extendido), donde. Siestaba en el nivel superior de su árbol, entonces la propiedad del montón no fue violada por la clave de disminución y no se requiere la tala del árbol. Sin embargo, los troncos en el tronco más altoPuede que sea necesario reorganizarlo.
Análisis de operaciones
El método potencial se puede utilizar para analizar el tiempo amortizado para realizar operaciones. Sea 3 el potencial de un tronco que consta de tres nodos, y 1 el potencial de un tronco que consta de dos nodos. Defina la funciónser la suma de los potenciales de todos los troncos, y dejarEl costo real será el número de comparaciones realizadas durante la operación. Tenga en cuenta que el potencial de un montón vacío es 0.
Clave de disminución: El número de nodos en los troncos puede aumentar o disminuir durante la eliminación de un árbol, dependiendo del tamaño del espacio de trabajo. En cada caso, se puede observar el cambio en el potencial y el número de comparaciones, lo que permite calcular el costo amortizado.
Dejemos que los baúles en las cajas que van hacia abajo a la izquierda sean losdimensión en la que uno de ellospuestos. Los troncos que bajan hacia la derecha son losdimensión. LaLos troncos se ordenan por longitud no decreciente, aunque en la práctica se ordenan por las etiquetas de sus nodos de cabecera.

En los casos en quey caso 1 de, no se necesitan comparaciones debido a la propiedad de montón yEl costo amortizado en estos casos es entonces.
En caso 1 dey ambos casos de, como máximo se necesita 1 comparación ydisminuye en 1, lo que hace que el costo amortizado sea 1.
En el caso final donde, como máximo se realiza una comparación yaumenta en 1, lo que da un costo amortizado de 0. La pérdida de laEl tronco deberá repararse utilizando el espacio de trabajo superior del nodo antes de que se eliminara del tronco. El proceso de reparación finaliza en uno de los casos anteriores o si no existe un tronco superior. Dado que el costo amortizado no es negativo y solo se realiza uno de los casos con amortización positiva en este proceso, el costo amortizado total permanece constante.
Insertar Al insertar un solo nodo en uno existenteen el árbol, hay dos comparaciones ysio hay una comparación conPor lo tanto, el costo amortizado es 0 durante la inserción inicial y los arrastres. El tiempo real en el peor de los casos esdebido a los arrastres y al número constante de comparaciones en cada ocasión.
Eliminar Min Se tomatiempo para encontrar el elemento mínimo, y tambiénpara separar los subárboles más pequeños, ya que hay como máximode ellos. Para fusionar los subárboles,Se realizan inserciones que toman un tiempo amortizado constante cada una. El tiempo amortizado es entoncesy también lo es el peor de los casos.
Referencias
- 1 2 Takaoka, Tadao (marzo de 2003). "Teoría de los montículos 2–3" . Matemáticas Aplicadas Discretas . 126 (1): 115– 128. doi : 10.1016/S0166-218X(02)00219-6 .
- Montones (estructuras de datos)