Merge sort is a generally recursive algorithm that takes an array, divides it repeatedly until hitting the base case, where only one element is present. Then it compares the return of the base case with the next one, orders it and bubbles up with the sorted result.
Implementation
Complexity
Worst case complexity. Also depending on implementation $$
O(n)