Skript mit Übungen - Hochschule Ravensburg-Weingarten
Skript mit Übungen - Hochschule Ravensburg-Weingarten
Skript mit Übungen - Hochschule Ravensburg-Weingarten
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
essere Schranke<br />
Die Laufzeit von heapify hängt von der Höhe des Knotens im Baum ab. Die meisten Knoten<br />
haben sehr niedrige Höhe!<br />
(Zahl der Knoten auf Höhe h) ≤ ⌈ n<br />
2 h+1 ⌉<br />
Die Laufzeit von heapify für Knoten der Höhe h wächst linear <strong>mit</strong> h. Also T heapify (h) =<br />
O(h) = O(log(Anzahl Knoten im Unterbaum))<br />
T (n) ≤<br />
⌊log n⌋<br />
∑<br />
h=0<br />
⌈ n<br />
2 h+1 ⌉<br />
Die vorletzte Gleichung gilt weil<br />
⎛<br />
· O(h) = O⎝n<br />
h=0<br />
was man in der Formelsammlung findet.<br />
⌊log n⌋<br />
∑<br />
h=0<br />
∞∑<br />
1<br />
h<br />
2 = 2<br />
h (1 − 1 = 2,<br />
)2<br />
2<br />
⎞<br />
h<br />
⎠ = O(2n) = O(n)<br />
2 h<br />
1.3.2 Der Heapsort - Algorithmus<br />
Voraussetzung: Build-Heap setzt maximales Element an die Wurzel, d.h. in A[1]<br />
Idee<br />
Wiederhole folgende Schritte bis der Heap nur noch aus einem Element besteht: 1.) vertausche<br />
A[1] <strong>mit</strong> A[n]<br />
2.) lösche A[n] aus dem Heap<br />
3.) Heapify (A,1)<br />
Beispiel 1.11<br />
1<br />
14<br />
1<br />
10<br />
9<br />
1<br />
8<br />
2 3<br />
10<br />
8<br />
2 3<br />
9<br />
8<br />
2 3<br />
3<br />
4<br />
4 5 6 7<br />
7 9 3<br />
4<br />
4 5 6 7<br />
7<br />
1<br />
3<br />
4<br />
4 5 6 7<br />
7<br />
1<br />
2<br />
2<br />
8<br />
1 9 16 10<br />
2<br />
8<br />
14 9<br />
16 10<br />
10 8<br />
14 9<br />
16 10<br />
i<br />
i<br />
i<br />
8<br />
1<br />
7<br />
1<br />
4<br />
1<br />
4<br />
7<br />
2<br />
3<br />
3<br />
i<br />
4<br />
2<br />
5<br />
1<br />
6<br />
9<br />
7<br />
1<br />
4<br />
2<br />
3<br />
3<br />
i<br />
4<br />
2<br />
5<br />
8<br />
6<br />
9<br />
7<br />
1<br />
2<br />
2<br />
3<br />
3<br />
i<br />
4<br />
7<br />
5<br />
8<br />
6<br />
9<br />
7<br />
10 8<br />
14 9<br />
16 10<br />
10<br />
8 14 9 16<br />
10<br />
10<br />
8 14 9 16<br />
10<br />
i<br />
4<br />
1<br />
3<br />
2 3<br />
2<br />
1<br />
4 5 6 7<br />
7<br />
8<br />
9<br />
4<br />
2<br />
1<br />
i<br />
1<br />
2<br />
3<br />
3<br />
4<br />
7<br />
5<br />
8<br />
6<br />
9<br />
7<br />
4<br />
1<br />
1<br />
i<br />
2<br />
2<br />
3<br />
3<br />
4<br />
7<br />
5<br />
8<br />
6<br />
9<br />
7<br />
10 8 14 9 16<br />
10<br />
10 8 14 9 16<br />
10<br />
10 8 14 9 16<br />
10<br />
16