4. Sortierverfahren Anwendungen Sortierverfahren Sortierverfahren ...
4. Sortierverfahren Anwendungen Sortierverfahren Sortierverfahren ...
4. Sortierverfahren Anwendungen Sortierverfahren Sortierverfahren ...
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