This document discusses different sorting algorithms and their time complexities. It introduces merge sort, a divide and conquer algorithm that partitions the list into halves, recursively sorts each half, and then merges the sorted halves together. Merge sort runs in O(n log n) time, making it faster than quadratic time sorting algorithms like insertion, selection, and bubble sort. Pseudocode for the merge sort algorithm is provided.