MergeSort: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| (Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
| Zeile 3: | Zeile 3: | ||
====MergeSort(H,r,l)==== | ====MergeSort(H,r,l)==== | ||
<b>if</b> l< r <b>then</b> | <b>if</b> l < r <b>then</b> | ||
m := l + r / 2 (untere Schranke) | m := l + r / 2 (untere Schranke) | ||
<b>MergeSort(</b> H , l , m <b>)</b> | <b>MergeSort(</b> H , l , m <b>)</b> | ||
| Zeile 28: | Zeile 28: | ||
Speicher für B wieder freigeben | Speicher für B wieder freigeben | ||
[[Kategorie: | [[Kategorie:Algorithmentheorie]] | ||
Aktuelle Version vom 23. September 2008, 14:22 Uhr
Psydocode
[Bearbeiten | Quelltext bearbeiten]MergeSort(H,r,l)
[Bearbeiten | Quelltext bearbeiten]if l < r then m := l + r / 2 (untere Schranke) MergeSort( H , l , m ) MergeSort( H , m + 1 , r ) Merge( H , l, m, r )
Merge(H,l,m,r)
[Bearbeiten | Quelltext bearbeiten]j := l
k := m + 1
for i := l to r do
if j > m then
B[i] = A[k];
k := k + 1
if k > r then
B[i] = A[j];
j := j + 1
if H[j] < H[k] then
B[i] = A[j];
j := j + 1
else
B[i] = A[k];
k := k + 1
Speicher für B wieder freigeben
