MergeSort(A)
if n = 1
return A
else
Merge(MergeSort(A[1:n/2], A[n/2 + 1:n]))
Merge(A, B)
l = A.length
k = B.length
if l = 0 return B
if k = 0 = 0 return A
if A[1] <= B[1]
return A[1] concat merge(A[2:l], B[1:k])
else:
return y[1] concat merge(A[1:l], B[2:k])
Running Time
Running time of Merge - Running time of MergeSort:
- 3rd case of Master Theorem