快速排序 ( Quick Sort ) : 快速排序的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的。
Partition 函数要做的就是先选取当中的一个关键字,然后想尽办法将它放到一个位置,使得它左边的值都比它小,右边的值都比它大,我们将这样的关键字称为枢轴 ( pivot ) 。
快速排序的时间复杂度:在最优的情况下,快速排序算法的时间复杂度为 O( nlogn ) 。
快速排序的空间复杂度: 平均情况下,空间复杂度也为 O ( logn ) 。