CS 3343/3341 Analysis of Algorithms |
Divide and Conquer:
Merge Sort |
Mergesort, in three steps: Divide: Divide the input sequence to be sorted into two equal sized subsequences. Conquer: Sort the two subsequences recursively using mergesort. Combine: Merge the two sorted subsequences to produce the sorted answer. |
MergeSort (a, p, r) if p < r q = floor((p+r)/2) MergeSort(A, p, q) MergeSort(A, q+1, r) Merge(A, p, q, r) |