04.10.2013 Aufrufe

Überblick 5.1 Sequentielles Suchen

Überblick 5.1 Sequentielles Suchen

Überblick 5.1 Sequentielles Suchen

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.

… Quicksort<br />

• Techniken zur Bestimmung eines vermuteten Medians, der eine<br />

akzeptable Approximation liefert:<br />

– Ein Arrayelement in fixer Position, z.B. a[(L + R) / 2].<br />

Vorsicht: Benutze kein Element nahe a[L] oder a[R], da dies zu<br />

Ineffizienz im Falle von partiell sortierten Elementen führt.<br />

– Ein Arrayelement in zufällig gewählter Position $ gibt gute<br />

Resultate!<br />

– Den Median von drei oder fünf Elementen an fixen oder zufällig<br />

gewählten Positionen.<br />

– Den Mittelwert des kleinsten und größten Elementes $ erfordert<br />

zusätzlichen Durchlauf zu Beginn, danach kann der Mittelwert für<br />

jedes Teilarray während des vorherigen Aufteilungsprozesses<br />

bestimmt werden.<br />

© Klaus Hinrichs Informatik II – <strong>Suchen</strong> und Sortieren<br />

Quicksort: Rekursive Implementierung<br />

void quicksort(int[] a, int L, int R) {<br />

int m = a[(L + R) / 2];<br />

// min(a[L], … , a[R]) ! m ! max(a[L], … , a[R])<br />

int i = L;<br />

int j = R;<br />

while (i

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!