Saltar a Contenido

Operaciones ​

Insert ​

Para insertar un elemento xx en una cola CSC_S, simplemente se crea un nuevo árbol B0B_0 conteniendo xx y se agrega este B0B_0 a la lista de árboles de CSC_S. Además se compara xx con el mínimo elemento, para actualizar el mínimo de ser necesario. El tiempo total es O(1)O(1).

FindMin ​

Como siempre conocemos el mínimo elemento, el tiempo es O(1)O(1).

Heapify ​

Se realiza mediante nn inserciones, en tiempo O(n)O(n).

Merge ​

Simplemente se unen los dos conjuntos concatenando las dos listas, en tiempo O(1)O(1). Además se comparan los dos mínimos, para retener el mínimo global.

ExtractMin ​

Ésta es la operación más compleja. Aquí recorremos la lista y nos aseguramos de convertirla en un bosque binomial, mediante sumar árboles iguales iterativamente.

Primero eliminamos la raíz del árbol BkB_k que contiene el mínimo actual (la cual conocemos) y agregamos los hijos B0,…,Bk−1B_0,\ldots,B_{k-1} a la lista de árboles de CSC_S.

Luego, convertimos el bosque de árboles binomiales en un bosque binomial. Para ello, creamos un pequeño arreglo AA de ⌈log⁡2n⌉\lceil \log_2 n \rceil punteros, donde A[k]A[k] apunta a un único árbol BkB_k si es que tenemos alguno. Inicialmente todos los punteros son nulos. Ahora recorremos la lista. Para cada árbol BkB_k que encontramos, si A[k]A[k] es nulo, asignamos A[k]←BkA[k] \leftarrow B_k. Si no, unimos BkB_k con el árbol A[k]A[k] (colgando la raíz mayor de la menor) en un único árbol Bk+1B_{k+1}, dejamos A[k]A[k] en nulo y continuamos el proceso con este nuevo árbol Bk+1B_{k+1}.

Al final de esta operación tenemos un bosque binomial en AA, y creamos una lista enlazada con ellos. Ésta es la nueva cola de Fibonacci (en este momento es una cola binomial válida). Sobre las O(log⁡n)O(\log n) raíces resultantes calculamos el nuevo mínimo y lo recordamos.

Extraer Min Fibo 1


Extraer Min Fibo 2


Extraer Min Fibo 3


Extraer Min Fibo 4

generating algorithms by Puspito from the Noun Project. © 2026 Me. Built with VitePress.