A sorting algorithm based on the idea of 'divide and conquer'. A merge sort divides a list into half, again and again until each data item is separate. Then the items are combined in the same way as they were divided, but now in the correct order. When the individual lists are all merged together as one list again, then the data is in order and the algorithm will end.