Lecture 12 Flashcards
(14 cards)
Welches Kostenmodell verwendet externes Sortieren?
Hauptspeicher = M Elemente, Blockgröße = B; Ziel: minimiere Block-Transfers zwischen RAM und externem Speicher.
Warum ist MergeSort für externes Sortieren prädestiniert?
Arbeitet überwiegend sequentiell (scanning), vermeidet langsamen Random-Access auf Festplatten.
Wieviel RAM braucht eine 2-Wege-Merge-Operation?
3 Blöcke: 2 × Eingabe-, 1 × Ausgabepuffer.
Idee des k-Wege-Merge?
Gleichzeitiges Mergen von k Runs; benötigt k+1 Blöcke + Priority-Queue im RAM.
Wozu dient die Priority-Queue beim Multiway-Merge?
Liefert in O(log k) das kleinste Kopf-Element der k aktiven Runs.
Heap-Invariante eines Min-Heaps?
key(parent) ≤ key(child) für jeden Knoten ≠ Wurzel.
Definition „fast vollständiger“ Binärbaum (Form-Invariante)?
Alle Ebenen vollständig außer letzter; diese ist linksbündig gefüllt.
deleteMin: grober Ablauf?
(1) Wurzelwert speichern, (2) letzte Heap-Zelle nach oben, (3) siftDown zur Wiederherstellung der Heap-Eigenschaft.
Zeitkomplexität von deleteMin und siftDown?
O(log n) wegen maximaler Pfadlänge.
insert: grober Ablauf?
Neues Element ans Ende, dann siftUp bis Heap-Eigenschaft gilt
siftUp-/siftDown-Komplexität?
Jeweils O(log n).
Array-Repräsentation: Eltern-/Kind-Indizes?
parent(i)=⌊(i−1)/2⌋; left=2i+1; right=2i+2.
Form-Invariante im Array-Heap?
Elemente belegen genau die Indizes 0 … n−1 (keine Lücken)
Weshalb ist Bottom-Up-Build nur O(n)?
Untere Ebenen enthalten viele Knoten mit kurzer siftDown-Strecke; geometrische Summation ergibt lineare Gesamtkosten.