??個人主頁:個人主頁
??系列專欄:C語言試題200例
??推薦一款刷算法、筆試、面經、拿大公司offer神器?? 點擊跳轉進入網站
?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家
1、題目
題目:實現快速排序算法
概念及其介紹
快速排序由 C. A. R. Hoare 在 1960 年提出。
隨機化快速排序基本思想:
通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然后再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。
適用說明
快速排序是一種比較快速的排序算法,它的平均運行時間是 O(nlogn),之所以特別快是由于非常精練和高度優化的內部循環,最壞的情形性能為 O(n^2)。像歸并一樣,快速排序也是一種分治的遞歸算法。從空間性能上看,快速排序只需要一個元素的輔助空間,但快速排序需要一個棧空間來實現遞歸,空間復雜度也為O(logn)。