1) The document discusses various sorting algorithms like bubble sort, selection sort, insertion sort, merge sort, quick sort and heap sort.
2) It provides detailed explanations of how merge sort and quick sort algorithms work, including examples with diagrams showing the sorting process step-by-step.
3) Merge sort has a time complexity of O(n log n) as it recursively divides the array into halves and then merges the sorted halves, while quick sort selects a pivot element and partitions the array into elements less than and greater than the pivot in O(n) time on average.