免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
快速排序

桶排序占用空間太大?快速排序太慢?有沒有更好的排序算法呢?答案肯定是有的。

它就是快速排序。



快速排序的基本思想是:通過一趟排序?qū)⒁判虻臄?shù)據(jù)分割成獨(dú)立的兩部分,其中一部分的所有數(shù)據(jù)都比另外一部分的所有數(shù)據(jù)都要小,然后再按此方法對這兩部分?jǐn)?shù)據(jù)分別進(jìn)行快速排序。

快速排序典型的用到了分治算法,至于分治算法是什么以后再為大家來介紹。

學(xué)懂快速排序只需要三步:

  1. 先從數(shù)列中取出一個(gè)數(shù)作為基準(zhǔn)數(shù);

  2. 分區(qū)過程,將比這個(gè)數(shù)大的數(shù)全放到它的右邊,小于或等于它的數(shù)全放到它的左邊;

  3. 再對左右區(qū)間重復(fù)第二步,直到各區(qū)間只有一個(gè)數(shù);

我們來規(guī)定一下基準(zhǔn)數(shù),在這里我們把待排序數(shù)列的第一個(gè)數(shù)字當(dāng)做基準(zhǔn)數(shù)。

選好了基準(zhǔn)數(shù)如何分區(qū)呢?

我們可以寫一個(gè)雙指針掃描。左指針找大于基準(zhǔn)數(shù)的數(shù)字,右指針找小于基準(zhǔn)數(shù)的數(shù)字,如果右指針指向元素的下標(biāo)大于左指針指向元素的小標(biāo),那么就交換元素。再把基準(zhǔn)數(shù)交換到分界處,然后把這段數(shù)分成兩段,一段是[頭,基準(zhǔn)數(shù)],另一段是[基準(zhǔn)數(shù)+1,尾]。

可以上代碼了

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
經(jīng)典算法(4)一文搞懂什么是 快速排序
8大排序算法圖文講解
Python | 數(shù)據(jù)結(jié)構(gòu) - 快速排序和歸并排序
Python|圖述冒泡
Java常見排序算法詳解——選擇排序
三分鐘!Go讀懂經(jīng)典算法(快速排序)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服