For 10 points, name this divide-and-conquer algorithm, noted for being faster than other n log n sorting algorithms in practice.
A variant of this algorithm used for selection can be made to run in worst-case time by a median-of-three killer sequence, though this algorithm can be used to find the smallest or largest few elements of an array effectively. In 1999, McIlroy created an adversary for this algorithm that guarantees that it will run in worst-case time, though a selection algorithm that finds an array's median will ensure a running time close to n log n. It works in three phases: choosing a pivot element, recursing on lesser elements, and recursing on elements greater than or equal to the pivot element. For 10 points, name this divide-and-conquer algorithm, noted for being faster than other n log n sorting algorithms in practice.
A variant of this algorithm used for selection can be made to run in worst-case time by a median-of-three killer sequence, though this algorithm can be used to find the smallest or largest few elements of an array effectively.
Quicksort