Merge sort is a sorting algorithm that works by dividing an array into halves and then merging the sorted halves together. It has a time complexity of O(n log n), making it efficient for sorting large data sets. The algorithm divides the array, sorts the halves, and then merges the results together into a fully sorted array.