版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、南京郵電大學通達學院實驗報告實驗名稱:快速排序算法課程名稱:微型計算機原理與接口技術姓名班級學號:錢煜中14250114250120實驗時間:快速排序原理一、實驗原理:快速排序算法 quick sort 主要是利用分治遞歸的思想進行排序的方法。它的原理是首先從待排序的原始序列ap,r中選取一個元素 aq 作為分界點( pivot ),然后將序列分為兩個子序列,左邊子序 列ap,q-1元素的值都小于分界點 m ,右邊子序列aq+1,r元 素值都大于分界點的值,此時得到的序列命名為a ,而aq應該處于其排好序后的正確位置。 然后利用遞歸的思想, 對左右兩個子序列 ap,q-1和aq+1,r再分別進
2、行排序,直到子序列的長度為 1 結(jié)束,序列有序。其中, 選取 a 中的基準分界點的方式有多種, 或者選擇序列的首 元素 ap ,或者選擇序列的尾元素 ar ,或者選擇序列中間位置的元 素 a(p+r)/2 ,或者取這三個元素按照大小排序后的中間值。例子:a = 38, 81, 22, 48, 13, 69, 93, 14, 45, 58, 79, 72,取(left+right)/2 處的元素作為分界點( pivot )的值。具體第一次分 區(qū)過程如下:iohi “ ht69|E|22 | 48 113 | 38 | 93 14 卩叭內(nèi)沖In 衍- to Iohi| 69 | 5622* 48*
3、13*38-93*14 45 81 |1972*hilo ” * to| 69 5822 4813384514”93-81 |7972f牛因此,第一次分區(qū),以69為分界點,結(jié)果為:a = 14, 58, 22, 48, 13, 38, 45, 69, 93, 81,79, 72二、實驗代碼#i nclude int fast_sort(int*a,int i,int j,int *p,int *b)int k,temp,f,g;g=*P;g=(12*g)-12;g=%dn,g);/in tf(成功進入快速排序 k=i;i+;for(;iak&ij;)j-;for(;aiak &i j;)i+;
4、/in tf(i=%dn,i);if(i=j)break;if(i*z)*z=*p;/prin tf(z=%dnp=%d,*z,*p);void main() int a=38, 81, 22, 48, 13, 69, 93, 14, 45, 58, 79, 72;int b1012;int y=0,k,x=0,z=0;prin tf(初始序列為);for(k=0;k12;k+)prin tf(%3d,ak);prin tf(n);digui(a,0,11, &x,b, &z);for(y=1;yz+1;y+)printf(第%2d次后的數(shù)組為,y);prin tf(%3d,by-1k); p
5、rin tf(n);三、實驗數(shù)據(jù)(給出實驗結(jié)果)對序列 a = 38, 81,22, 48, 13, 69, 93, 14, 45, 58, 79, 7238 81 22 48 13 69 93 14 45 58 79 7238 14 22 48 13 69 9381 45 58 79 7238 14 2213 48 69 93 81 45 58 79 72址】吃后賞垃淤吋 第7次后的額為 卻3汰年m:匙圣勺 X q底石的刪為t_es h any kn to1491 45 碣 79時 60 58 ?991 網(wǎng) 58 795$ 72 8L 7969 7? 79 81進行快速排序,其中,以序列的首
6、元素作為排序的分界點。輸出結(jié)果 要求:輸出每一次分區(qū)后的結(jié)果以及最終排序結(jié)果。13 14 2213 14 2213 14 22 CDCitime,38 4833 45刖4o38 4530 45 忙地im吐理中DMktofi囲山童快1樟弓瑰墾中- X四、實驗總結(jié)(問題、解決方法、心得體會等) 這次實驗我做了很久, 重新編寫了算法很多次。 最開始我對算法的理 解不夠深,在遞歸自調(diào)用的時候沒有想通上下界其實在遞歸下一層的 時候下一層是知道上一層的上下界的, 只要排序算法里返還一個最好 作為比較值的位置就可以了。 一開始排序算法寫完就把每次數(shù)輸出出 來,知道后來和同學討論正確答案是排序了多少次, 才想想到我是把 每個區(qū)排完后的情況, 而其實我想輸出的是每次排序后數(shù)組情況。 可 是一開始進入的就是左半?yún)^(qū)的左半?yún)^(qū)的左半?yún)^(qū)。反正一次是無法 輸出全部的,因為右半?yún)^(qū)還沒有算。思考了很久,我決定建立一個二 維數(shù)組,第一行是第一次后的數(shù)組,第二行是第二次后的數(shù)組??墒?如何確定現(xiàn)在是第幾次?我建立了一個指針, 每次進入遞歸一層就會 +
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 凍貨供應合同范本
- 企業(yè)郵箱合同范本
- 分紅權(quán)轉(zhuǎn)讓合同范本
- 2025年度會議場地租賃合同樣本與不可抗力條款
- 中山美白加盟合同范本
- 農(nóng)村改造搬遷合同范本
- 加盟鹵菜合同范本寫
- 2022-2027年中國血容量擴充劑行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略咨詢報告
- 供應飼料合同范本
- epc國際合同范本
- 人教版高中數(shù)學必修1全冊導學案
- 四年級計算題大全(列豎式計算,可打印)
- GB/T 5782-2016六角頭螺栓
- 婦產(chǎn)科正常分娩課件
- 產(chǎn)業(yè)鏈鏈長分工表
- 國際金融課件(完整版)
- 導向標識系統(tǒng)設計(一)課件
- 220t鍋爐課程設計 李學玉
- 露天礦采坑邊坡穩(wěn)定性評價報告
- 全英文劇本 《劇院魅影》
- 北京城的中軸線PPT通用課件
評論
0/150
提交評論