【11.17】快速排序算法

基本思想為:
1.先從待排序區(qū)間中取出一個(gè)數(shù)作為基準(zhǔn)數(shù),一般選擇首(或末元素)作為基準(zhǔn)元素(key),這樣易于理解也不易出錯(cuò)。關(guān)于其它位置選擇方法及出現(xiàn)的問題這里暫不敘述。
2.分區(qū)過程,將比這個(gè)數(shù)大的數(shù)全放到它的右邊,
小于或等于它的數(shù)全放到它的左邊。
3.再對左右區(qū)間重復(fù)第二步,直到各區(qū)間只有一個(gè)數(shù)。

這里引用網(wǎng)友提出的易于理解的挖坑填坑思想更加易于記憶與理解。
詳細(xì)實(shí)現(xiàn)代碼如下:

捕獲1.PNG
捕獲2.PNG

完全代碼及測試結(jié)果如下:

捕獲3.PNG
捕獲4.PNG

現(xiàn)進(jìn)行第一種改寫,將前后搜尋相繼進(jìn)行,再以交換替代填坑,過程不再贅述,上代碼:

捕獲5.PNG
捕獲6.PNG

其他改進(jìn)算法,如隨機(jī)選取基準(zhǔn),等待后續(xù)更新。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 快速排序由于排序效率在同為O(N*logN)的幾種排序方法中效率較高,因此經(jīng)常被采用,再加上快速排序思想--...
    fjytqiu閱讀 2,358評論 0 3
  • 一、直接插入排序 直接插入排序(Insertion Sort)的基本思想是:每次將一個(gè)待排序的元素記錄,按其關(guān)鍵字...
    kevin16929閱讀 644評論 0 0
  • 快速排序由于排序效率在同為O(NlogN)的幾種排序方法中效率較高,因此經(jīng)常被采用,再加上快速排序思想----分治...
    愛情小傻蛋閱讀 1,220評論 0 9
  • 快速排序是當(dāng)遇到較大數(shù)據(jù)時(shí),排序快,高效的方法(公司面試時(shí),基本上會被問到...)該方法的基本思想是: 1.先從數(shù)...
    LeafRead閱讀 1,122評論 0 1
  • 1.快速排序 快速排序每趟選擇一個(gè)基準(zhǔn)元素,用基準(zhǔn)元素將序列劃分成兩部分,所有比基準(zhǔn)值小的元素?cái)[放在基準(zhǔn)前面,所有...
    游戲開發(fā)小Y閱讀 291評論 0 0

友情鏈接更多精彩內(nèi)容