|
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| • |
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)
|
|
|
|