MergeSort: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Die Seite wurde neu angelegt: ===Psydocode=== ====MergeSort(H,r,l)==== <b>if</b> l< r <b>then</b> m := l + r / 2 (untere Schranke) <b>MergeSort(</b> H <b>)</b> <b>MergeSort(</b> H ,... |
Keine Bearbeitungszusammenfassung |
||
| Zeile 5: | Zeile 5: | ||
<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 <b>)</b> | <b>MergeSort(</b> H , l , m <b>)</b> | ||
<b>MergeSort(</b> H , <b>)</b> | <b>MergeSort(</b> H , m + 1 , r <b>)</b> | ||
<b>Merge(</b> H , l, m, r <b>)</b> | <b>Merge(</b> H , l, m, r <b>)</b> | ||
Version vom 21. September 2008, 18:19 Uhr
Psydocode
MergeSort(H,r,l)
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)
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
