Definition: A sort algorithm that splits the items to be sorted into two groups, recursively sorts each group, and merges them into a final, sorted sequence. Run time is Θ(n log n).
Generalization (I am a kind of ...)
Specialization (... is a kind of me.)
k-way merge sort, balanced k-way merge sort, polyphase merge sort.
Aggregate child (... is a part of or used in me.)
divide and conquer.
See also external sort, bitonic sort, strand sort.
Note: There seem to be some references to linear-time in-place merging; look for papers by Geffert, Katajainen & Pasanen.
animation (Java). Comparison of quicksort, heapsort, and merge sort on modern processors.
If you have suggestions, corrections, or comments, please get in touch with Paul Black.
Entry modified 2 March 2015.
HTML page formatted Mon Mar 2 16:13:48 2015.
Cite this as:
Paul E. Black, "merge sort", in Dictionary of Algorithms and Data Structures [online], Vreda Pieterse and Paul E. Black, eds. 2 March 2015. (accessed TODAY) Available from: http://www.nist.gov/dads/HTML/mergesort.html