Quicksort, proposed by C.A.R. Hoare in 1962, is a practical divide-and-conquer algorithm that sorts elements in place and relies on partitioning an array around a pivot. The algorithm involves three steps: divide, conquer, and combine, with a linear-time partitioning subroutine. Its performance can vary from the worst-case of O(n²) (when elements are sorted or reversely sorted) to an average case of O(n log n), and the randomized version mitigates the worst-case by selecting pivots randomly.