4. Prozedurales Programmieren
4. Prozedurales Programmieren
4. Prozedurales Programmieren
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Grobe Laufzeitabschätzung von Quicksort:<br />
Seien C, M und N definiert wie auf Folie <strong>4.</strong>133.<br />
Vorüberlegung:<br />
Betrachte die Ebenen gleicher Tiefe im Aufrufbaum<br />
von quicksort. Das Zerlegen aller Teillisten auf einer<br />
Ebene verursacht schlimmstenfalls linearen Aufwand:<br />
C (N) = O(N)<br />
part<br />
M (N) = O(N)<br />
part<br />
Ungünstigster Fall:<br />
Beim Zerlegen der Listen ist jeweils eine der Teillisten<br />
leer. Dann hat der Aufrufbaum die Tiefe N, also gilt:<br />
C (N) = N * C (N) = O(N )<br />
max<br />
M (N) = N * M (N) = O(N )<br />
max<br />
Günstigster Fall:<br />
part<br />
part<br />
Beim Zerlegen der Liste entstehen jeweils zwei etwa<br />
gleich große Teillisten. Dann hat der Aufrufbaum die<br />
Tiefe log N, also gilt:<br />
C (N) = log N * C (N) = O(N log N)<br />
min<br />
M (N) = log N * M (N) = O(N log N)<br />
min<br />
part<br />
part<br />
0<strong>4.</strong>12.08 © A. Poetzsch-Heffter, TU Kaiserslautern<br />
138<br />
2<br />
2