17.12.2012 Aufrufe

4. Prozedurales Programmieren

4. Prozedurales Programmieren

4. Prozedurales Programmieren

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!