60. Merge Sort
อ. กิตตินันท์ น้1อยมณี 60
Algorithm mergesort( T[n] )
if n > 1 then
u[0 … -1 ] := T[ 0 … -1]
v[0 … -1] := T[ … n-1]
mergesort( u )
mergesort( v )
merge( u, v, T )
End Algorithm
5 4
5 4
u v
T
แบ่งต่อไปเรื่อยๆ อีก
อีกอัลกอริทึมนึง
61. Merge Sort
อ. กิตตินันท์ น้1อยมณี 61
Algorithm merge( u[m], v[n], T[m+n] )
i := 0, j := 0
for k := 0 to m+n-1
if i >= m then T[k] := v[j], j := j + 1
else if j >= n then T[k] := u[i], i := i + 1
else if u[i] < v[j] then T[k] := u[i], i := i + 1
else T[k] := v[j], j := j + 1
End Algorithm
5 4
5 4
u v
T