Bei der Erörterung der Heap-Datenstruktur, beispielsweise in CLRS , benötigt die Warteschlange für die maximale Priorität nur INSERT, MAXIMUM , EXTRACT-MAX und INCREASE-KEY. Aber warum hat es nicht auch DECREASE-KEY, dessen Operation wird auch die Heap-Eigenschaft ungültig machen? Ist es praktisch unwichtig?
FWIW Meine CLR V1 spricht von INSERT, MIN, EXTRACT-MIN, UNION, DECREASE-KEY und DELETE, aber wir können sie in Ihre Version umwandeln, indem wir Zeichen umdrehen.
Ich denke, diese Menge wird von den Anforderungen der Algorithmen bestimmt, die Prioritätswarteschlangen verwenden, wie zum Beispiel den minimalen Spannbaum, Dijstras kürzesten Pfad und (ich vermute,) A *. Wenn Sie beispielsweise den Anfang des Kapitels über minimale Spannbäume betrachten, können Sie eine Notiz sehen, dass der Algorithmus von Prim beschleunigt werden kann, wenn Sie binäre Haufen durch Fibonacci-Haufen ersetzen.
Tags und Links algorithm data-structures