Data Structures and Algorithms
with Object-Oriented Design Patterns in C# |
The running time of merge sort is determined by the running time of the recursive Sort method. (The no-arg Sort method adds only a constant amount of overhead). The running time of the recursive Sort method is given by the following recurrence:
where .
In order to simplify the solution of Equation we shall assume that for some integer . Dropping the s from the equation we get
which is easily solved by repeated substitution:
Therefore, the running time of merge sort is .