23.11.2013 Aufrufe

4. Sortierverfahren Anwendungen Sortierverfahren Sortierverfahren ...

4. Sortierverfahren Anwendungen Sortierverfahren Sortierverfahren ...

4. Sortierverfahren Anwendungen Sortierverfahren Sortierverfahren ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Klassifizierung von Sortiertechniken<br />

Sortieren durch . . .<br />

1) Auswählen<br />

2) Einfügen<br />

L1<br />

Min. Element von L2<br />

sortiert<br />

L[j-1] > L[j]<br />

sortiert<br />

a) lokal<br />

. . .<br />

3) Austauschen<br />

K i > K<br />

Klassifizierung von Sortiertechniken<br />

(2)<br />

5. Streuen und Sammeln<br />

- begrenzter Schlüsselbereich m,<br />

z. B. 1 - 1000<br />

- relativ dichte Schlüsselbelegung n ≤ m<br />

- Duplikate möglich (n > m)<br />

- lineare Sortierkosten !<br />

1<br />

K = i<br />

i<br />

K = i<br />

m<br />

b) entfernt<br />

K<br />

K j < K<br />

4) Mischen<br />

bereits<br />

sortiert<br />

10 20 40 ... ...<br />

30 50 60<br />

L1<br />

L2<br />

10 20 30 40 50 60 ...<br />

L<br />

(C) Prof. E. Rahm<br />

4 - 5<br />

(C) Prof. E. Rahm<br />

4 - 6<br />

6. Fachverteilen (z. B. Poststelle)<br />

P L Z 0 9<br />

1. Ziffer grobe<br />

Vorsortierung<br />

. . .<br />

0 9<br />

2. Ziffer<br />

viele Duplikate möglich<br />

. . .<br />

Basisklasse für Sortieralgorithmen<br />

public abstract class SortAlgorithm {<br />

static void swap (Object A[], int i, int j) {<br />

Object o = A[i];<br />

A[i] = A[j];<br />

A[j] = o;<br />

}<br />

/** Sortiert das übergebene Array;<br />

* Element an Position 0 bleibt unberücksichtigt (Stopper...)!<br />

*/<br />

public static void sort (Orderable A[]) {}<br />

public static void print(Orderable A[]) {<br />

for (int i=1; i

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!