HeapSort

Aus Byte-Welt Wiki
Version vom 22. September 2008, 00:53 Uhr von 84.190.105.86 (Diskussion) (Die Seite wurde neu angelegt: ===Psydocode=== ====HeapSort(H,i,n)==== <b>for</b> i := [n/2] <b>to</b> 1 <b>do</b> <b>Heapify(</b> H , i , n <b>)</b> <b>for</b> i := n <b>to</b> 2 <b>do</b> ...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

Psydocode

HeapSort(H,i,n)

for i := [n/2] to 1 do
  Heapify( H , i , n )
for i := n to 2 do
  change( H[1] , H[r] )
  Heapify( H , i , n - 1 )

Heapify(H,i,r)

if 2i <= r and H[2i] > H[r] then
  x := 2i
else
  x := i
if 2i + 1 <= r and H[2i + 1] > H[x] then
  x := 2i + 1
if i < x then
  change( H[x] , H[i] )
  Heapify( H , x , r )