Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Oswalda Hofmeister Geändert vor über 7 Jahren
1
Heap Operationen Folien bitte als Vollbild-Bildschirmpräsentation (Taste F5) betrachten! Vorlesung Algorithmen und Datenstrukturen, WS10/11, C. Eckert
2
Vorlesung Prof. C. Eckert, IT - Sicherheit, WS 02/03
Beispiel: Feld mit 10 Elementen und zugehöriger Binärbaum BUILD-MAX-HEAP (A) A 4 16 4 14 16 1 3 10 4 8 14 2 7 1 16 9 3 10 2 14 4 8 7 1 heap-größe [A] länge [A] heap-größe[A] = 10 1 for i länge [A] /2 downto 1 do MAX-HEAPIFY (A,i) 16 4 i = 1 MAX-HEAPIFY (A, i) 2 3 l LEFT (i) l = 2 * i = 10 l = 2 * i = 6 l = 2 * i = 8 l = 2 * i = 16 16 14 4 1 i = 2 10 3 i = 3 r RIGHT (i) r = 2 * i + 1 = 17 r = 2 * i + 1 = 7 r = 2 * i + 1 = 9 r = 2 * i + 1 = 11 if l ≤ heap-größe [A] und A[l] A[i] 4 5 6 7 then maximum l else maximum i 14 2 4 8 i = 4 16 7 1 i = 5 9 10 3 if r ≤ heap-größe [A] und A[r] A [maximum] then maximum r maximum = l = 6 maximum = i = 5 maximum = l = 8 maximum = r = 7 maximum = i = 8 if maximum i 8 9 10 then vertausche A[i] A [maximum] 14 2 4 8 1 7 MAX-HEAPIFY (A, maximum) i = 8 l <= heap-größe[A] FALSCH A[l] > A[i] FALSCH l <= heap-größe[A] und A[l] > A[i] WAHR maximum != i FALSCH l <= heap-größe[A] und (A[l] > A[i]) WAHR maximum != i WAHR r <= heap-größe[A] und A[r] > A[maximum] WAHR maximum != i FALSCH r <= heap-größe[A] FALSCH r <= heap-größe[A] FALSCH maximum != i WAHR A[r] > A[maximum] FALSCH Weiterer Ablauf in Kurzform Vorlesung Algorithmen und Datenstrukturen, WS10/11, C. Eckert TU Darmstadt FG Sicherheit in der Informationstechnik
3
Vorlesung Prof. C. Eckert, IT - Sicherheit, WS 02/03
Implementierung der Operationen in Pseudo-Code: Implementierung der Operation Maximum in O(1) HEAP-MAXIMUM(A) return(A[1]) (2) Implementierung der Operation Extract-Max in O(lgn). HEAP-EXTRACT-MAX (A) max = 6 1 if heap-größe [A] 1 then error „Heap-Unterlauf“ 2 5 6 max A[1] 2 3 A[1] A[heap-größe[A]] 4 5 2 heap-größe[A] heap-größe [A] - 1 4 5 6 MAX-HEAPIFY (A,1) 1 3 2 return max Vorlesung Algorithmen und Datenstrukturen, WS10/11, C. Eckert TU Darmstadt FG Sicherheit in der Informationstechnik
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.