快速排序¶
快速排序也是一个分治算法:
- 从数组中选择一个基准数(pivot);
- 遍历整个数组,将比基准数小的值移到基准数左侧,比基准数大的值则移到右侧;
- 对基准数两侧的子数组应用再快速排序,直至子数组仅包括一个元素。
算法的平均时间复杂度为 \(O(n\lg{n})\).
参考¶
- Cormeo T H, et al. 算法导论. 原书第 3 版. 第 7 章.
- Quick Sort - GeeksforGeeks
快速排序也是一个分治算法:
算法的平均时间复杂度为 \(O(n\lg{n})\).