




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、算法名稱:選擇排序算法定義:在要排序的一組數(shù)中,選出最小的一個(gè)數(shù)與第一個(gè)位置的數(shù)交換;然后在剩下的數(shù)當(dāng)中再找最小的與第二個(gè)位置的數(shù)交換,如此循環(huán)到倒數(shù)第二個(gè)數(shù)和最后一個(gè)數(shù)比較為止算法類型:不穩(wěn)定排序算法時(shí)間復(fù)雜度:的平方最少移動(dòng)次數(shù):最多移動(dòng)次數(shù):算法適用場(chǎng)景:這個(gè)算法時(shí)間復(fù)雜度偏高,一般不選擇使用。算法代碼:要選擇的次數(shù):共次假設(shè)當(dāng)前下標(biāo)為的數(shù)最小,比較后再調(diào)整循環(huán)找出最小的數(shù)的下標(biāo)是哪個(gè)如果后面的數(shù)比前面的小,則記下它的下標(biāo)如果在循環(huán)中改變了,就需要交換數(shù)據(jù)算法名稱:直接插入排序算法定義:在要排序的一組數(shù)中,假設(shè)前面?zhèn)€數(shù)已經(jīng)是排好順序的,現(xiàn)在要把第個(gè)數(shù)插到前面的有序數(shù)中,使得這個(gè)數(shù)也是排好
2、順序的。如此反復(fù)循環(huán),直到全部排好順序。算法類型:穩(wěn)定排序算法時(shí)間復(fù)雜度:的平方算法適用場(chǎng)景:這個(gè)算法時(shí)間復(fù)雜度偏高,一般不選擇使用。算法代碼:要選擇的次數(shù):共次暫存下標(biāo)為的數(shù)。注意:下標(biāo)從開(kāi)始,原因就是開(kāi)始時(shí)第一個(gè)數(shù)即下標(biāo)為0的數(shù),前面沒(méi)有任何數(shù),單單一個(gè),認(rèn)為它是排好順序的。的數(shù),在它前面有序列中找插入位置。比下標(biāo)為的數(shù),在它前面有序列中找插入位置。比下標(biāo)為0的數(shù)都小,它要放在最前面注意:,-這里就是下標(biāo)為如果滿足條件就往后挪。最壞的情況就是,-退1出循環(huán)*/為為找到下標(biāo)為的數(shù)的放置位置算法名稱:冒泡排序算法定義:在要排序的一組數(shù)中,對(duì)當(dāng)前還未排好序的范圍內(nèi)的全部數(shù),自上而下對(duì)相鄰的兩個(gè)數(shù)
3、依次進(jìn)行比較和調(diào)整,讓較大的數(shù)往下沉,較小的往上冒。即:每當(dāng)兩相鄰的數(shù)比較后發(fā)現(xiàn)它們的排序與排序要求相反時(shí),就將它們互換。下面是一種改進(jìn)的冒泡算法,它記錄了每一遍掃描后最后下沉數(shù)的位置,這樣可以減少外層循環(huán)掃描的次數(shù)。算法類型:穩(wěn)定排序算法時(shí)間復(fù)雜度:的平方算法適用場(chǎng)景:這個(gè)算法時(shí)間復(fù)雜度偏高,一般不選擇使用。算法代碼:循環(huán)到?jīng)]有比較范圍每次預(yù)置=循環(huán)掃描后更新大的放在后面,小的放到前面完成父換保存最后下沉的位置。這樣后面的都是排序排好了的。算法名稱:排序算法定義:在直接插入排序算法中,每次插入一個(gè)數(shù),使有序序列只增加環(huán)個(gè)節(jié)點(diǎn),并且對(duì)插入下一個(gè)數(shù)沒(méi)有提供任何幫助。如果比較相隔較遠(yuǎn)距離(稱為增量
4、)的數(shù),使得數(shù)移動(dòng)時(shí)能跨過(guò)多個(gè)元素,則進(jìn)行一次比較就可能消除多個(gè)元素交換。于年在以他名字命名的排序算法中實(shí)現(xiàn)了這一思想。算法先將要排序的一組數(shù)按某個(gè)增量分成若干組,每組中記錄的下標(biāo)相差對(duì)每組中全部元素進(jìn)行排序,然后再用一個(gè)較小的增量對(duì)它進(jìn)行,在每組中再進(jìn)行排序。當(dāng)增量減到時(shí),整個(gè)要排序的數(shù)被分成一組,排序完成。下面的函數(shù)是一個(gè)希爾排序算法的一個(gè)實(shí)現(xiàn),初次取序列的一半為增量,以后每次減半,直到增量為1。算法類型:不穩(wěn)定排序算法算法時(shí)間復(fù)雜度:的次方算法適用場(chǎng)景:般不用排序算法代碼:控制增量這個(gè)實(shí)際上就是上面的直接插入排序算法名稱:快速排序算法定義:快速排序是對(duì)冒泡排序的一種本質(zhì)改進(jìn)。它的基本思想
5、是通過(guò)一趟掃描后,使得排序序列的長(zhǎng)度能大幅度地減少。在冒泡排序中,一次掃描只能確保最大數(shù)值的數(shù)移到正確位置,而待排序序列的長(zhǎng)度可能只減少1??焖倥判蛲ㄟ^(guò)一趟掃描,就能確保某個(gè)數(shù)(以它為基準(zhǔn)點(diǎn)吧)的左邊各數(shù)都比它小,右邊各數(shù)都比它大。然后又用同樣的方法處理它左右兩邊的數(shù),直到基準(zhǔn)點(diǎn)的左右只有一個(gè)元素為止。它是由于年提出的。顯然快速排序可以用遞歸實(shí)現(xiàn),當(dāng)然也可以用棧化解遞歸實(shí)現(xiàn)。下面的函數(shù)是用遞歸實(shí)現(xiàn)的,有興趣的朋友可以改成非遞歸的。算法類型:不穩(wěn)定排序算法時(shí)間復(fù)雜度:最好,最壞算法適用場(chǎng)景:需要附加內(nèi)存空間算法代碼:要排序的元素起止下標(biāo),保證小的放在左邊,大的放在右邊。這里以下標(biāo)為的元素為基準(zhǔn)點(diǎn)
6、暫存基準(zhǔn)點(diǎn)的數(shù)循環(huán)掃描在右邊的只要比基準(zhǔn)點(diǎn)大仍放在右邊前移一個(gè)位置換基準(zhǔn)點(diǎn)的數(shù)上面的循環(huán)退出:即出現(xiàn)比基準(zhǔn)點(diǎn)小的數(shù),替換基準(zhǔn)點(diǎn)的數(shù)后環(huán)移環(huán)一環(huán)個(gè)環(huán)位環(huán)置環(huán)環(huán)并序以+此+為;基環(huán)準(zhǔn)/點(diǎn)*/環(huán)環(huán)在左邊的只要小于等于基準(zhǔn)點(diǎn)仍放在左邊后環(huán)移環(huán)一環(huán)個(gè)環(huán)位環(huán)置環(huán)環(huán),序環(huán)環(huán)環(huán)環(huán);環(huán),*上面的循環(huán)退出:即出現(xiàn)比基準(zhǔn)點(diǎn)大的數(shù),放到右邊前移一個(gè)位置一遍掃描完后,放到適當(dāng)位置對(duì)基準(zhǔn)點(diǎn)左邊的數(shù)再執(zhí)行快速排序?qū)鶞?zhǔn)點(diǎn)右邊的數(shù)再執(zhí)行快速排序算法名稱:堆排序算法定義:堆排序是一種樹(shù)形選擇排序,是對(duì)直接選擇排序的有效改進(jìn)。堆的定義如下:具有個(gè)元素的序列(當(dāng)且僅當(dāng)滿足()或(i時(shí)稱之為堆。在這里只討論滿足前者條件的堆。由堆的定
7、義可以看出,堆頂元素(即第一個(gè)元素)必為最大項(xiàng)。完全二叉樹(shù)可以很直觀地表示堆的結(jié)構(gòu)。堆頂為根,其它為左子樹(shù)、右子樹(shù)。初始時(shí)把要排序的數(shù)的序列看作是一棵順序存儲(chǔ)的二叉樹(shù),調(diào)整它們的存儲(chǔ)順序,使之成為一個(gè)堆,這時(shí)堆的根節(jié)點(diǎn)的數(shù)最大。然后將根節(jié)點(diǎn)與堆的最后一個(gè)節(jié)點(diǎn)交換。然后對(duì)前面?zhèn)€數(shù)重新調(diào)整使之成為堆。依此類推,直到只有兩個(gè)節(jié)點(diǎn)的堆,并對(duì)它們作交換,最后得到有個(gè)節(jié)點(diǎn)的有序序列。從算法描述來(lái)看,堆排序需要兩個(gè)過(guò)程,一是建立堆,二是堆頂與堆的最后一個(gè)元素交換位置。所以堆排序有兩個(gè)函數(shù)組成。一是建堆的滲透函數(shù),二是反復(fù)調(diào)用滲透函數(shù)實(shí)現(xiàn)排序的函數(shù)。算法類型:不穩(wěn)定排序算法時(shí)間復(fù)雜度:算法適用場(chǎng)景:算法代碼:暫存開(kāi)始元素開(kāi)始元素下標(biāo)右子樹(shù)元素下標(biāo)判斷是否滿足堆的條件:
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高三班的同學(xué)考數(shù)學(xué)試卷
- 高中必修四檢測(cè)數(shù)學(xué)試卷
- 高二職高期末數(shù)學(xué)試卷
- 二年級(jí)長(zhǎng)豐數(shù)學(xué)試卷
- 學(xué)科培訓(xùn)課件模板圖片
- 肌肉激活技術(shù)課件
- 福田區(qū)中考數(shù)學(xué)試卷
- 波譜分析課件-核磁共振碳譜
- 飛翔四年級(jí)數(shù)學(xué)試卷
- 2025年06月江蘇泰州海陵區(qū)基層醫(yī)療衛(wèi)生單位招聘?jìng)浒钢迫藛T78人筆試歷年專業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- GB 30439.3-2013工業(yè)自動(dòng)化產(chǎn)品安全要求第3部分:溫度變送器的安全要求
- 制藥有限公司職業(yè)衛(wèi)生管理制度
- 2022年高校教師資格證考試題庫(kù)高分通關(guān)300題a4版(浙江省專用)
- 上海國(guó)有土地上房屋征收補(bǔ)償協(xié)議上海住房和城鄉(xiāng)建設(shè)管理委員會(huì)
- 工程項(xiàng)目“三標(biāo)一體”管理標(biāo)準(zhǔn)實(shí)施細(xì)則
- 完整版:美制螺紋尺寸對(duì)照表(牙數(shù)、牙高、螺距、小徑、中徑外徑、鉆孔)
- QC七大手法培訓(xùn)教材(ppt50張PPT)課件
- 中國(guó)服裝史(完整版)
- 物業(yè)服務(wù)中心架構(gòu)圖
- 表面滲納米陶瓷的摩托車活塞環(huán)的介紹
- 倉(cāng)庫(kù)職位等級(jí)晉升標(biāo)準(zhǔn)評(píng)價(jià)表
評(píng)論
0/150
提交評(píng)論