The document discusses several sorting algorithms including selection sort, insertion sort, bubble sort, merge sort, and quick sort. It provides details on how each algorithm works including pseudocode implementations and analyses of their time complexities. Selection sort, insertion sort and bubble sort have a worst-case time complexity of O(n^2) while merge sort divides the list into halves and merges in O(n log n) time, making it more efficient for large lists.