![算法設(shè)計(jì)與分析線性時(shí)間排序.ppt_第1頁](http://file.renrendoc.com/FileRoot1/2019-2/1/fed6cb86-a30a-42d9-9c57-74d786b7839e/fed6cb86-a30a-42d9-9c57-74d786b7839e1.gif)
![算法設(shè)計(jì)與分析線性時(shí)間排序.ppt_第2頁](http://file.renrendoc.com/FileRoot1/2019-2/1/fed6cb86-a30a-42d9-9c57-74d786b7839e/fed6cb86-a30a-42d9-9c57-74d786b7839e2.gif)
![算法設(shè)計(jì)與分析線性時(shí)間排序.ppt_第3頁](http://file.renrendoc.com/FileRoot1/2019-2/1/fed6cb86-a30a-42d9-9c57-74d786b7839e/fed6cb86-a30a-42d9-9c57-74d786b7839e3.gif)
![算法設(shè)計(jì)與分析線性時(shí)間排序.ppt_第4頁](http://file.renrendoc.com/FileRoot1/2019-2/1/fed6cb86-a30a-42d9-9c57-74d786b7839e/fed6cb86-a30a-42d9-9c57-74d786b7839e4.gif)
![算法設(shè)計(jì)與分析線性時(shí)間排序.ppt_第5頁](http://file.renrendoc.com/FileRoot1/2019-2/1/fed6cb86-a30a-42d9-9c57-74d786b7839e/fed6cb86-a30a-42d9-9c57-74d786b7839e5.gif)
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
算法設(shè)計(jì)與分析,譚守標(biāo) 安徽大學(xué) 電子學(xué)院 2007.9,第七章 線性時(shí)間排序,排序算法的下界 計(jì)數(shù)排序(過程及分析) 基數(shù)排序 桶排序(過程及分析) 程序演示及說明,排序算法的下界,決策樹 最壞情況下界 定理9.1 推論9.2,決策樹,決策樹表示了某種排序算法作用于給定輸入上所做的所有比較,而控制結(jié)構(gòu),數(shù)據(jù)移動(dòng)等則被忽略。,最壞情況下界,在決策樹中,由根到任一葉節(jié)點(diǎn)間最長路徑的長度表示了對(duì)應(yīng)的排序算法中最壞情況比較次數(shù)。這樣, 一個(gè)比較排序算法中的最壞情況比較次數(shù)就與其決策樹的高度對(duì)應(yīng), 同時(shí)關(guān)于其決策樹高度的下界也就是關(guān)于比較排序算法運(yùn)行時(shí)間的下界。,定理9.1,定理:任意一棵對(duì)n個(gè)元素排序的決策樹有高度 (nlgn) 。 證明: 考慮對(duì)n個(gè)元素排序的, 高度為h的決策樹。因?yàn)閚!種排列, 每種排列代表一種不同的最終排序, 故該樹必須至少有n!片葉子。又一顆高度為h的二叉樹的葉子數(shù)不多于2h, 則: n! 2h 兩邊取對(duì)數(shù), 有: h lg(n!),定理9.1,因?yàn)閘g函數(shù)是單調(diào)遞增的, 又根據(jù)Stirling近似公式, 有: n! (n/e)n 所以, 有: h lg(n/e)n = nlgn nlge = (nlgn),推論9.2,推論: 堆排序和合并排序是漸進(jìn)最優(yōu)的比較算法。 證明:堆排序和合并排序的運(yùn)行時(shí)間上界O(nlgn)與定理9.1給出的最壞情況下界 (nlgn)一致。,計(jì)數(shù)排序(過程及分析),計(jì)數(shù)排序思路 計(jì)數(shù)排序算法 計(jì)數(shù)排序分析,計(jì)數(shù)排序思路,計(jì)數(shù)排序假設(shè)n個(gè)輸入中的每一個(gè)都是介于1到k之間的整數(shù), 此處k是整數(shù)。 計(jì)數(shù)排序的基本思想就是對(duì)每一個(gè)元素x,確定出小于x的元素?cái)?shù)。有了這個(gè)信息就可把x直接放到它在最終輸出數(shù)組中的位置上。例如有17個(gè)元素小于x,則x就屬于第18個(gè)輸出位置。 如果有相等的元素怎么辦?,計(jì)數(shù)排序算法,COUNTING_SORT(A, B, k) 1 for i 1 to k 2 do Ci 0 3 for j 1 to lengthA 4 do CAj CAj+1 5 Ci現(xiàn)在包含等于i的元素個(gè)數(shù) 6 for i 2 to k 7 do Ci Ci+Ci-1 8 Ci現(xiàn)在包含小于等于i的元素個(gè)數(shù) 9 for j lengthA downto 1 10 do BCAj Aj 11 CAj CAj-1,計(jì)數(shù)排序算法,計(jì)數(shù)排序分析,計(jì)數(shù)排序的時(shí)間分析, 第1-2行的for循環(huán)花費(fèi)的時(shí)間為O(k), 第3-4行中for循環(huán)所花費(fèi)時(shí)間為O(n),第6-7行的for循環(huán)花費(fèi)的時(shí)間為O(k)。這樣,總的時(shí)間就是O(k+n)。在實(shí)踐中,當(dāng)k= O(n)時(shí),我們常常采用計(jì)數(shù)排序,這時(shí)其運(yùn)行時(shí)間為O(n)。,基數(shù)排序(過程及分析),基數(shù)排序思想 基數(shù)排序算法 基數(shù)排序分析,基數(shù)排序思想,每種數(shù)字?jǐn)?shù)據(jù)都是一種進(jìn)位計(jì)數(shù)制數(shù)據(jù),如二進(jìn)制、十進(jìn)制等,每一位的取值范圍即基數(shù)。 基數(shù)排序的思想就是在某種進(jìn)制下對(duì)所有數(shù)據(jù)從低位到高位逐位進(jìn)行排序,最終就能得到整體排序的結(jié)果。,基數(shù)排序算法,基數(shù)排序算法,RADIX_SORT(A, d) 1 for i 1 to d 2 do 使用一種穩(wěn)定的排序方法來對(duì) 數(shù)組A按第i位數(shù)字進(jìn)行排序,基數(shù)排序分析,正確性:歸納證明 時(shí)間代價(jià): 當(dāng)每位數(shù)字都介于1-k之間,且k不太大時(shí),可以選擇計(jì)數(shù)排序。 每一位上的處理時(shí)間為: (n+k) 總時(shí)間為: (d(n+k), 當(dāng)d為常量,k= (n)時(shí), (d(n+k)= (n),基數(shù)排序例,以一個(gè)計(jì)算機(jī)字(16位)為基數(shù),一個(gè)64位數(shù)則為4位數(shù),即d=4, k=216,用基數(shù)排序只需4次。,桶排序(過程及分析),桶排序思想 桶排序算法 桶排序分析,桶排序思想,桶排序的思想就是把區(qū)間0, 1)劃分成n個(gè)相同大小的子區(qū)間, 或稱桶, 然后將n個(gè)輸入數(shù)分布到各個(gè)桶中去。如果輸入數(shù)均勻分布在0, 1)上, 則一般不會(huì)有很多數(shù)落在一個(gè)桶中。為得到結(jié)果, 先對(duì)各個(gè)桶中的數(shù)進(jìn)行排序, 然后按次序把各個(gè)桶中的元素列出來即可。,桶排序算法,BUCKET_SORT(A) 1 n lengthA 2 for i 1 to n 3 do 將Ai插入到表B nAi 4 for i 0 to n-1 5 do 用插入排序?qū)Ρ鞡i進(jìn)行排序 6 將表B0, B1, ., Bn-1按順序合并,桶排序算法,桶排序分析,正確性:反證法 時(shí)間代價(jià):,桶排序分析,排序算法穩(wěn)定性,若待排序的序列中,存在多個(gè)具有相同值的元素,經(jīng)過排序,這些元素的相對(duì)次序保持不變,則稱該算法是穩(wěn)定的;若經(jīng)排序后,元素的相對(duì) 次序發(fā)生了改變,則稱該算法是不穩(wěn)定的。,常見排序算法的穩(wěn)定性,堆排序算法 不穩(wěn)定 快速排序算法 不穩(wěn)定 歸并排序算法 穩(wěn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度住宅租賃市場規(guī)范化管理合同
- 七年級(jí)下冊(cè)語文第五課測試卷部編版及答案
- 衡陽2025年湖南衡陽市民政醫(yī)院急需緊缺專業(yè)技術(shù)人才引進(jìn)6人筆試歷年參考題庫附帶答案詳解
- 蘇州2025年江蘇蘇州高新區(qū)招聘新興領(lǐng)域?qū)B汓h務(wù)工作者12人筆試歷年參考題庫附帶答案詳解
- 秦皇島2024年河北秦皇島市婦幼保健院第二輪選聘工作人員9人筆試歷年參考題庫附帶答案詳解
- 甘肅2025年甘肅煤田地質(zhì)局考核招聘高層次人才3人筆試歷年參考題庫附帶答案詳解
- 溫州浙江溫州平陽縣農(nóng)業(yè)農(nóng)村局編外人員招聘筆試歷年參考題庫附帶答案詳解
- 溫州2025年浙江溫州市生態(tài)環(huán)境科學(xué)研究院招聘筆試歷年參考題庫附帶答案詳解
- 泰州2025年江蘇泰州興化市部分高中學(xué)校校園招聘教師22人筆試歷年參考題庫附帶答案詳解
- 文山云南文山市人力資源和社會(huì)保障局城鎮(zhèn)公益性崗位工作人員招聘筆試歷年參考題庫附帶答案詳解
- 2025年中國東方電氣集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 模具檢測知識(shí)培訓(xùn)
- 醫(yī)療健康行業(yè)保密免責(zé)協(xié)議書
- 2025年七年級(jí)下冊(cè)道德與法治主要知識(shí)點(diǎn)
- 第一課走進(jìn)人工智能 說課稿 2023-2024學(xué)年浙教版(2023)初中信息技術(shù)八年級(jí)下冊(cè)
- 第25章 概率初步(2)-2024-2025學(xué)年數(shù)學(xué)人教版九年級(jí)上冊(cè)(含答案解析)
- 2025年交通運(yùn)輸部長江口航道管理局招聘4人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 廣東省廣州市2025屆高三上學(xué)期12月調(diào)研測試(零模)英語 含解析
- 蘭溪市排水防澇提升雨污管網(wǎng)修復(fù)改造初步設(shè)計(jì)文本
- 2024-2030年中國永磁電機(jī)市場現(xiàn)狀分析及前景趨勢(shì)預(yù)測報(bào)告
- 翁愷C語言課件下載
評(píng)論
0/150
提交評(píng)論