The document describes the mergesort algorithm for sorting data in linear time complexity of O(n log n). Mergesort uses a divide-and-conquer approach by recursively dividing an array into two halves, sorting each half using mergesort, and then merging the two sorted halves back into a single sorted array. It analyzes the runtime using recurrence relations and proves it is O(n log n).