MergeSort: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen (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 ,...) |
|||
(2 dazwischenliegende Versionen von einem anderen Benutzer werden 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 <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> | ||
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
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