Quick Sort
Quick sort is a divide and conquer algorithm that selects a pivot element and partitions the input array into two subarrays: elements less than the pivot and elements greater than the pivot. It then recursively sorts the subarrays. It has an average-case time complexity of O(n log n) but can degrade to O(n^2) in the worst-case.