Herstellen
der Heapeigenschaft
Zum Herstellen der Heapeigenschaft wird, ausgehend von den Blättern
des Heaps, jeder Knoteninhalt mit seinem direkten Vorgänger im Heap
verglichen. Ist er kleiner als mindestens einer seiner beiden direkten
Nachfolger, so wird der Vörgänger im Heap mit dem größeren
der Nachfolger vertauscht. Dadurch 'sinken' die kleineren Elemente den
Heap hinab, die größeren steigen der Wurzel entgegen.
Das Absinken kann über mehrere Ebenen erfolgen, da beim Absenken
der darüberliegende Teil des Baumes nochmals überprüft wird.
Ein Element kann also vor bzw. während der Herstellung der Heap-Eigenschaft
die Wurzel des Baumes sein, sich nach dem vollständigen Absink-Vorgang
aber durchaus in der untersten Ebene befinden, also ein Blatt sein.
Besonders häufig ist dies der Fall, wenn nach dem Ausfügen
des ersten Elements, das letzte Element in die Wurzel gespeichert wird.
|