# Quicksort And Random Pivoting

Quicksort is the most widely used sorting algorithms in practice. It works extremely well both in terms of time and space complexity compared to its counterparts. Given an unsorted list $x = [x_1, x_2, \ldots, x_n]$, quicksort works by picking a pivot, creating two sublists, one with elements less than the pivot and the other with elements greater than the pivot. Quicksort is later recursively called on both sublists. Below is pseudocode for quicksort