The document discusses various sorting algorithms and their time complexities: 1. Comparison sorts like merge sort and quicksort have a best case time complexity of O(n log n). 2. Counting sort runs in O(n+k) time where k is the range of input values, and is not a comparison sort. 3. Radix sort treats input as d-digit numbers in some base k and uses counting sort to sort on each digit, achieving O(dn+dk) time which is O(n) when d and k are constants. 4. A randomized selection algorithm finds the ith order statistic in expected O(n) time using randomized partition.