Definition: A sorting 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 O(n log n).

References:
http://www.nist.gov/dads/HTML/mergesort.html
http://www.cs.princeton.edu/~ah/alg_anim/gawain-4.0/MergeSort.html
http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/merge/mergen.htm