Java http://kohnlehome.de/informatik/heapsort.pdf
Heapsort
Heap
Bin¨arer Baum. Alle V¨ater sind kleiner als ihre Kinder.
Heapsort-Algorithmus
Wiederhole n-mal
1. Forme Baum zu Heap um:
von unten nach oben, von rechts nach links:
Vater tauscht mit kleinerem Sohn
2. Entferne Wurzel (ist kleinstes Element), letztes Element wird neue Wurzel
Beispiel
Sortiere die Zahlenfolge 42, 25, 5, 23, 73, 37, 13
1. Heap mit 7 Knoten bilden
Noch keine Zahlen sortiert
1. 2. 3. 4. Baum ist Heap
42 25 23 73
5 37 13
42 23 25 73
5 37 13
5 23 25 73
42 37 13
5 23 25 73
13 37 42
2. Heap mit 6 Knoten bilden
Bereits sortierte Zahl: 5
5. 6. 7. Baum ist Heap
42 23 25 73
13 37
13 23 25 73
42 37
13 23 25 73
37 42
3. Heap mit 5 Knoten bilden
Bereits sortierte Zahlen: 5, 13
8. 9. 10. Baum ist Heap
42 23 25 73
37
23 42 25 73
37
23 25 42 73
37
Franz Kohnle Seite 1 von 2 5. November 2017
Java http://kohnlehome.de/informatik/heapsort.pdf
4. Heap mit 4 Knoten bilden
Bereits sortierte Zahlen: 5, 13, 23
11. 12. 13. Baum ist Heap
73 25 42
37
25 73 42
37
25 42 73
37
5. Heap mit 3 Knoten bilden
Bereits sortierte Zahlen: 5, 13, 23, 25
14. 15. Baum ist Heap
73 42 37
37 42 73
6. Heap mit 2 Knoten bilden
Bereits sortierte Zahlen: 5, 13, 23, 25, 37
16. 17. Baum ist Heap
73 42
42 73
7. Heap mit 1 Knoten bilden
Bereits sortierte Zahlen: 5, 13, 23, 25, 37, 42 18. Baum ist Heap
73
8. Zahlen sind sortiert
5, 13, 23, 25, 37, 42, 73
Franz Kohnle Seite 2 von 2 5. November 2017