Analysis of MergeSort
Time for Merge is O(n)
where n is the number of
elements being merged
Time for MergeSort
T(n) = 2T(n/2) + O(n)
and T(1) = O(1)
Recurrence can be simplified
to T(n) = 2T(n/2) + n
where T(1) = 1
Solution is T(n) = O(n log n)
One solution method for
recurrence
Can divide by n to get
T(n)/n = T(n/2)/(n/2) + 1
Define S(n) = T(n)/n
S(n) = S(n/2) + 1 and S(0) = 1
Easy to see that
S(n) = 2 + log n
Thus T(n) = n(2 + log n) or
T(n) = O(n log n)
CS409 - Spring 2000
3