Un montón de Fibonnaci admite las siguientes operaciones:
insert(key, data)
: agrega un nuevo elemento a la estructura de datosfind-min()
: devuelve un puntero al elemento con clave mínimadelete-min()
: elimina el elemento con clave mínimadelete(node)
: elimina el elemento señalado pornode
decrease-key(node)
: disminuye la clave del elemento señalado pornode
Todas las operaciones que no son de eliminación son tiempo (amortizado), y las operaciones de eliminación son tiempo amortizado.
¿Hay implementaciones de una cola prioritaria que también sea compatible increase-key(node)
con el tiempo (amortizado)?
@Raphael si aumentas la clave del elemento mínimo para que ahora sea la clave más grande, no es obvio de inmediato (al menos para mí) que no tienes que hacer una cantidad de reequilibrio súper constante.
—
Joe