This document discusses the merge sort algorithm for sorting a sequence of numbers. It begins by introducing the divide and conquer approach and defining the sorting problem. It then describes the three steps of merge sort as divide, conquer, and combine. It provides pseudocode for the merge sort and merge algorithms. Finally, it analyzes the running time of merge sort, showing that it runs in O(n log n) time using the recursion tree method.