Ein Fibonnaci-Heap unterstützt die folgenden Vorgänge:
insert(key, data)
: Fügt der Datenstruktur ein neues Element hinzufind-min()
: Gibt einen Zeiger auf das Element mit dem minimalen Schlüssel zurückdelete-min()
: Entfernt das Element mit dem minimalen Schlüsseldelete(node)
: löscht das Element, auf das von zeigtnode
decrease-key(node)
: verringert den Schlüssel des Elements, auf das von zeigtnode
Alle Nichtlöschvorgänge sind (amortisierte) Zeit, und die Löschvorgänge sind O ( log n ) amortisierte Zeit.
Gibt es Implementierungen einer Prioritätswarteschlange, die auch increase-key(node)
in (amortisierter) Zeit unterstützt werden?
Antworten:
find-min
increase-key
insert
quelle
(de|in)crease-key
nur plus oder minus eins.