下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、各種排序算法的時(shí)間復(fù)雜度和空間復(fù)雜度排序方法時(shí)間復(fù)雜度空間復(fù)雜度穩(wěn)定性平均情況最好情況最壞情況輔助存儲(chǔ)- - 入序_ 插排直接插入即)O(n)O(tf)o(n穩(wěn)定Shell排序0O(n)0(n?)0(1)不穩(wěn)定選擇直接選擇)OOi2)0(X)0(】)不穩(wěn)定堆排序O(nlog2n)O(nio&n)(nlon)0(1)不檢定換序冒泡拌序W2)O(n)0(n2)0(1)穩(wěn)定快速拌序0(nJog2n)Otnio&n)O(tf)O(nlog;n)不穩(wěn)定歸并排序O(nlog2n)O(nlog2n)Otnlon)O(n)穩(wěn)定基數(shù)排序Otdfr+njH0(蝦 rd)O(dir+n)O(rd+n)穩(wěn)定其中冒泡排
2、序加個(gè)標(biāo)志,所以最好情況下是o(n)直接選擇排序:排序過(guò)程:、首先在所有數(shù)據(jù)中經(jīng)過(guò)n-1次比較選出最小的數(shù),把它與第1個(gè)數(shù)據(jù)交換,2、然后在其余的數(shù)據(jù)內(nèi)選出排序碼最小的數(shù),與第2個(gè)數(shù)據(jù)交換依次類推,直到所有數(shù)據(jù)排完為止。在第i趟排序中選出最小關(guān)鍵字的數(shù)據(jù),需要做n-i次比較。/冒泡排序,大的數(shù)不斷向后冒泡void buddle(vector& nums) TOC o 1-5 h z int len=nums.size();for(int i=0;ilen-1;i+)(for(int j=0;jnumsj+1)swap(numsj,numsj+1);1314線性排序算法計(jì)數(shù)排序假設(shè):有n個(gè)數(shù)的集
3、合,而且n個(gè)數(shù)的范圍都在0k(k = O(n)之間。運(yùn)行時(shí)間:(n+k)待排序數(shù)組A如圖2.1所示,需要輔助數(shù)組B(存儲(chǔ)最后排序結(jié)果),數(shù)組C(存儲(chǔ)元素的個(gè)數(shù))?;谏?述的假設(shè),數(shù)組C的大小為k, Ci表示數(shù)組A中元素i(0 = i k)的個(gè)數(shù)(如圖2.2所示),為了保 證計(jì)數(shù)排序的穩(wěn)定性,數(shù)組C變化為圖2.3, Ci表示小于或者等于i的個(gè)數(shù)。代碼如下:1: /*2:輸入:待排序數(shù)組A,存儲(chǔ)排序后的數(shù)組B,數(shù)組A的大小,數(shù)組C的大小3:功能:計(jì)數(shù)排序4: */5: void CountingSort(int A, int B, int len, int k)6: 7:int*CountArr
4、=new intk;8:inti;9:for(i = 0; ik; i+) TOC o 1-5 h z 10:(11:CountArri = 0;12:13:14:for(i=0;ilen;i+)15:(16:CountArrAi+;17:18:19:for(i=1;i=0;i-)26:(27:BCountArrAi-1 = Ai;28:CountArrAi-;29:30: 9-12行和19-22行的運(yùn)行時(shí)間(k), 14-17行和25-29行的運(yùn)行時(shí)間為(n),所以總的運(yùn)行時(shí)間為 (2(n+k) = (n+k)o基數(shù)排序基數(shù)排序:將所有待比較數(shù)值(正整數(shù))統(tǒng)一為同樣的數(shù)位長(zhǎng)度,數(shù)位較短的數(shù)前
5、面補(bǔ)零。然后,從最 低位開始,依次進(jìn)行一次排序。這樣從最低位排序一直到最高位排序完成以后,數(shù)列就變成一個(gè)有序 序列?;鶖?shù)排序分為兩種LSD和MSD。LSD(Least significant digital):最低有效位優(yōu)先,即從右向左開始排序。MSD(Most significant digital):最高有效位優(yōu)先,即從左往右開始排序。以下是LSD方式的基數(shù)排序的偽代碼1: RadixSort(A,d)2:for i 252 123 1236110E2;5225205212 3(52611s *如圖3:先牌個(gè)位,然后十位,最后百位。為數(shù)組的某一位排序的時(shí)候一定需要穩(wěn)定的算法。運(yùn)行時(shí)間為(d
6、(n+k)。在基數(shù)排序中排列數(shù)組各位的算法是計(jì)數(shù)排序所以運(yùn)行時(shí)間為(n+k),又d 是數(shù)組中數(shù)的最大位數(shù)。桶排序桶排序:將數(shù)組分到有限個(gè)桶子內(nèi),然后再對(duì)桶子里面的序列進(jìn)行排序,運(yùn)行時(shí)間(n)。桶排序基于 一個(gè)假設(shè):輸入的數(shù)據(jù)由隨機(jī)過(guò)程構(gòu)成,否則在最壞情況下都分配到一個(gè)桶子里面,如果又不滿足計(jì) 數(shù)排序的假設(shè)要求,那么只能使用基于比較的排序算法進(jìn)行排序,運(yùn)行時(shí)間就退化到Q(nlogn)。排F序算法穩(wěn)定性排序算法穩(wěn)定性:假設(shè)待排序序列中有兩個(gè)元素相等,而且在排序前和排序后兩個(gè)相等的元素的相對(duì) 位置不變,即有a = b,排序前a在b前面,那么排序后,a還是要在b前面。排序算法的穩(wěn)定性是要 看具體的算法實(shí)現(xiàn),比如一般情況下,直接選擇排序,快速排序,希爾排序,堆排序都不是穩(wěn)定排序 算法,基數(shù)排序,計(jì)數(shù)排序,歸并排序,插入排序,冒泡排序都是穩(wěn)定排序算法??焖倥判颍篈 = 2,2, 1,排序后A = 1,2,2。希爾排序:A = 1,2,5,4,4,7,排序后(k = 2);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 自動(dòng)報(bào)靶器課程設(shè)計(jì)
- 自行車cad課程設(shè)計(jì)
- 有關(guān)趣味數(shù)學(xué)的課程設(shè)計(jì)
- 幼兒園銅鼓主題課程設(shè)計(jì)
- 網(wǎng)絡(luò)技術(shù)課程設(shè)計(jì)
- 系統(tǒng)規(guī)劃課程設(shè)計(jì)
- 椅子美背課程設(shè)計(jì)
- 新材料行業(yè)技術(shù)工作總結(jié)
- 建筑行業(yè)推廣方案分享
- 電動(dòng)車課程設(shè)計(jì)摘要
- 電梯維護(hù)保養(yǎng)分包合同
- 10以內(nèi)連加減口算練習(xí)題完整版139
- 2022-2023學(xué)年廣東省廣州市海珠區(qū)六年級(jí)(上)期末英語(yǔ)試卷(含答案)
- 2024至2030年中國(guó)瀝青攪拌站行業(yè)市場(chǎng)現(xiàn)狀調(diào)研及市場(chǎng)需求潛力報(bào)告
- 《平凡的世界》整本書閱讀指導(dǎo)教學(xué)設(shè)計(jì)基礎(chǔ)模塊上冊(cè)
- 2024政務(wù)服務(wù)綜合窗口人員能力與服務(wù)規(guī)范考試試題
- (高清版)AQ 2002-2018 煉鐵安全規(guī)程
- 虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)
- 08J933-1體育場(chǎng)地與設(shè)施(一)
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗(yàn)人員理論考試題庫(kù)及答案
- 課題論文:引領(lǐng)新經(jīng)濟(jì)加速新質(zhì)生產(chǎn)力發(fā)展
評(píng)論
0/150
提交評(píng)論