快速排序的最坏时间复杂度是θ(n^2)。虽然最坏的时间复杂度很差,但是快速排序是实际排序应用中最好的选择,因为它的期望时间复杂度是θ(nlgn)。另外它还可以进行原址排序(in place sorting),不需要增加额外的空间。
来看一下算法导论里面对快速排序的伪代码描述
来看一段关于快速排序演示的视频,这个是哈佛大学cs50课程关于快速排序的一个演示 https://www.youtube.com/watch?v=aQiWF4E8flQ,这个演示过程和《算法导论》里对快速排序的描述是一致的。