快速排序是由C. A. R. Hoare在1960中提出的。其基本思想是:通過壹次排序將待排序的數據分成兩個獨立的部分,其中壹部分的所有數據小於另壹部分,然後按照這種方法對這兩部分數據進行快速排序,整個排序過程可以遞歸進行,從而實現整個數據成為壹個有序序列。[1]
中文名
快速排序算法
外國名字
快速分類
另壹個名字
快速排序
提出者
C.霍爾
展示時間
1960
快的
航行
排序步驟程序調用示例代碼性能分析
分類過程
快速排序通過多次比較和交換實現排序,其排序過程如下:[2]。
(1)首先設置壹個邊界值,通過這個邊界值將數組分成兩部分。[2]
(2)將大於等於分界值的數據集中在數組右側,將小於分界值的數據集中在數組左側。此時,左邊部分的所有元素都小於或等於邊界值,而右邊部分的所有元素都大於或等於邊界值。[2]
(3)然後,左右兩邊的數據可以獨立排序。對於左邊的數組數據,也可以取壹個邊界值,將這部分數據分成兩部分,即左邊較小的值和右邊較大的值。右邊的數組數據也可以進行類似的處理。[2]
(4)重復上述過程,可以看出這是壹個遞歸定義。依次遞歸排列左邊部分後,依次遞歸排列右邊部分。當左右部分的數據排序完成後,整個數組的排序也就完成了。[