版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、幾種常見的排序排序方法平均時間復(fù)雜度最壞時間復(fù)雜度輔助存儲空間冒泡排序O(nA2)O(nA2)O(1)直接插入排序O(nA2)O(nA2)O(1)簡單選擇排序O(nA2)O(nA2)O(1)希爾排序O(nlog2n)至0m人2)O(nA2)O(1)快速排序O(nlogn)O(nA2)O(logn)堆排序O(nlogn)O(nlogn)O(1)歸并排序O(nlogn)O(nlogn)O(n)基數(shù)排序O(d(n+rd)O(d(n+rd)O(rd)1冒泡排序冒泡排序算是手寫排序的入門了,思想比較簡單。它是通過對相鄰數(shù)據(jù)元素進行交換,逐步講待排序序列變成有序序列的過程。算法思想:反復(fù)掃描待排序序列,在
2、掃描的過程中順次比較相鄰兩個元素的大小,若逆序則交換位置,因排序過程元素在冒泡,所以叫冒泡排序(誤2333)對于序列48,62,35,77,55,14,一趟冒泡排序如下所示:為比較數(shù)兩邊大小,若不符合要求則交換,這里按從小到大排序時第一趟冒泡的486235775514486235775514483562775514483562775514483562557714483562551477結(jié)果第一趟結(jié)果:483562551477第二趟結(jié)果:354855146277第三趟結(jié)果:354814556277第四趟結(jié)果:351448556277第五趟結(jié)果:143548556277以上為序列48,62,35,
3、77,55,14,冒泡排序全過程代碼:voidbublleSort(intdata,intn)/冒泡排序(for(inti=0;in;i+)for(intj=0;jdataj+1)std:swap(dataj+1,dataj);算法分析:每一趟冒泡都能確定一個值,所以內(nèi)層循環(huán)從每次長度-1;代碼簡單容易記得,但時間復(fù)雜度過高,對于大量數(shù)據(jù)的排序時間太長。時間復(fù)雜度接近O(n2);2 .直接插入排序思想:無序數(shù)列中有n個數(shù),把第i個數(shù)(i=n)插入到前i-1個已排好序的數(shù)列中如無序數(shù)列48,62,35,77,55,14】【48,62,35,775514】486235775514】35486277
4、5514】354862775514】【35,48,55,62,72,14【14,35,48,55,62,77】中為已排序數(shù)列代碼:voidinsertsort(intdata,intn)/直接插入排序for(inti=1,j;i=0;j-)if(datajx)dataj+1=dataj;elsebreak;if(j!=i)dataj+1=x;算法分析:時間復(fù)雜度接近O(nA2),優(yōu)化方法:將尋找前i-1個數(shù)中可以插入的位置的時間復(fù)雜度降低,把線性查找O(n)查找優(yōu)化成二分查找O(logn)3 .簡單選擇排序思想:每一次從待排序的數(shù)列中選出最?。ɑ蜃畲螅┑囊粋€元素,存放在序列的起始位置,直到全部
5、待排序的數(shù)據(jù)元素排完。48,62,35,77,55,14,9814,62,35,77,55,48,9814,35,62,77,55,48,9814,35,48,14,35,48,14354814354877,55,62,55,77,62,55627755627798989898中為未排序序列代碼:voidselectsort(intdata,intn)/簡單選擇排序for(inti=0;in;i+)intindex=i;for(intj=i+1;jdataindex)index=j;if(index!=i)std:swap(dataindex,datai);4 .希爾排序思想:先將整個待排元素
6、序列分割成若干個子序列(由相隔某個增量的元素組成的)分別進行直接插入排序,然后依次縮減增量再進行排序,待整個序列中的元素基本有序(增量足夠小)時,再對全體元素進行一次直接插入排序。因為直接插入排序在元素基本有序的情況下(接近最好情況),效率是很高的,因此希爾排序在時間效率上比前兩種方法有較大提高。以無序數(shù)列503,087,512,061,908,170,897,275,653,426為例將“增量”gap設(shè)為10/2=5進行分組503,087,512,061,908,170,897,275,653,4261A1B2A2B3A3B4A4B5A5B注:數(shù)字相同為同一組,A為第一個數(shù),B為第二個數(shù)此時
7、無序數(shù)列被分為五組(503,170)(087,897)(512,275)(061,653)(908,426)現(xiàn)在,進行組內(nèi)直接插入排序(170,503)(087,897)(275,512)(061,653)(426,908)此時的無序數(shù)列更改為170,087,275,061,426,503,897,512,653,908以上為希爾排序第一趟排序?qū)ⅰ霸隽俊眊ap設(shè)為5/2=2進行分組170,087,275,061,426,503,897,512,653,9081A1B1C1D1E2A2B2C2D2E此時無序數(shù)列被分為兩組(170.275,426,897,653)(087,061,503,512,
8、908)在組內(nèi)進行直接插入排序(170.275,426,653,897)(061,087,503,512,908)此時的無序數(shù)列更改為170,061,275,087,426,503,653,512,897,908以上為希爾排序第二趟排序?qū)ⅰ霸隽俊眊ap設(shè)為2/2=1進行分組170,061,275,087,426,503,653,512,897,9081A1B1C1D1E1F1G1H1I1J在組內(nèi)進行直接插入排序為061,087,170,275,426,503,512,653,897,908以上為希爾排序第三趟排序?qū)ⅰ霸隽俊眊ap設(shè)為1/2=0進行分組061,087,170,275,426,503,512,653,897,908此時已為有序數(shù)列,排序完成voidshellsort(intdata,intn)/希爾排序(for(intgap=n/2;gap0;gap/=2)for(inti=0;igap;i+)for(intj=i+gap;jn;j+=gap)if(dataj=0&dataktemp)datak+gap=datak;k-=gap;datak+gap=temp;以上為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙教版九年級歷史下冊階段測試試卷含答案
- 2025年西師新版七年級科學(xué)上冊月考試卷含答案
- 2025年湘教版選擇性必修1地理上冊月考試卷含答案
- 2025年粵教版必修一地理下冊月考試卷
- 2025年浙教新版九年級歷史上冊月考試卷含答案
- 2025年開封文化藝術(shù)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年廣東建設(shè)職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年山東經(jīng)貿(mào)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年山東勞動職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年安徽工業(yè)職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 人教版(2024新版)七年級上冊數(shù)學(xué)第六章《幾何圖形初步》測試卷(含答案)
- 九宮數(shù)獨200題(附答案全)
- JT-T-496-2018公路地下通信管道高密度聚乙烯硅芯塑料管
- 食材配送投標方案技術(shù)標
- 再見深海合唱簡譜【珠海童年樹合唱團】
- 《聚焦客戶創(chuàng)造價值》課件
- PTW-UNIDOS-E-放射劑量儀中文說明書
- 保險學(xué)(第五版)課件全套 魏華林 第0-18章 緒論、風(fēng)險與保險- 保險市場監(jiān)管、附章:社會保險
- 典范英語2b課文電子書
- 17~18世紀意大利歌劇探析
- β內(nèi)酰胺類抗生素與合理用藥
評論
0/150
提交評論