Quicksort is a divide and conquer algorithm that recursively sorts an array by dividing it into sub-arrays of low and high elements. It has a time complexity of O(n log(n)) and involves selecting a pivot and partitioning the array, with performance heavily influenced by implementation choices. The recursive process includes counting inversions during the merge procedure.