數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)_第1頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)_第2頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)_第3頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)_第4頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)實(shí) 驗(yàn) 報(bào)報(bào) 告題目: 內(nèi)部部排序算算法效率率比較平平臺(tái)的設(shè)設(shè)計(jì)與實(shí)實(shí)現(xiàn) 專業(yè): 計(jì)算算機(jī)科學(xué)學(xué)與技術(shù)術(shù) 班級(jí): 姓名: 學(xué)號(hào): 完成日期: 一、試驗(yàn)內(nèi)內(nèi)容各種內(nèi)部排排序算法法的時(shí)間間復(fù)雜度度分析結(jié)結(jié)果只給給出了算算法執(zhí)行行時(shí)間的的階,或或大概執(zhí)執(zhí)行時(shí)間間。設(shè)計(jì)計(jì)和實(shí)現(xiàn)現(xiàn)內(nèi)部排排序算法法效率比比較平臺(tái)臺(tái),通過過隨機(jī)的的數(shù)據(jù)比比較各算算法的關(guān)關(guān)鍵字比比較次數(shù)數(shù)和關(guān)鍵鍵字移動(dòng)動(dòng)次數(shù),以以取得直直觀的感感受。二、試驗(yàn)?zāi)磕康恼莆斩喾N排排序方法法的基本本思想,如如直接插插入、冒冒泡、簡簡單選擇擇、快速速、堆、希希爾排序序等排序序方法,并并能夠用用高級(jí)語語言實(shí)現(xiàn)現(xiàn)。三、源程序序代碼#in

2、clludee#inclludee#inclludee#defiine le 1000strucct ppoinntcharr keey111;/冒泡法法void maoopaoo(poointt c)poinnt aa,ble;int i,jj,jhh=0,bj=0,qq;for(i=00;ile;i+)bii=cci;for(i=00;ii;j-)bjj=bjj+1;q=sstrccmp(bii.kkey,bjj.kkey);iff(q=1)aa=bi;bbi=bj;bbj=a;jjh=jjh+33;coutt冒泡法法:enndl完完成的序序列如下下:enndl;for(i=00;ile;

3、i+)couutbii.kkey ;coutteendll共進(jìn)行行比較bbj次,進(jìn)行交交換jhh次enndl*eendll;/直接插插入排序序void zhiijieechaaru(poiint c)poinnt bblee+1;int i,jj,jhh=0,bj=0,qq;for(i=00;ile;i+)bii+1=ci;for(i=22;i=lee+1;i+)q=sstrccmp(bii.kkey,bii-1.keey);bj=bj+1;if(q=-1)b0=bii;bi=bii-1;jhh=jhh+2;q=strrcmpp(b0.keyy,bi-22.kkey);bjj=bjj+1;fo

4、or(jj=i-2;qq=-1;jj-)bbj+1=bjj;jjh=jjh+11;qq=sttrcmmp(bb0.keey,bbj-1.keyy);bbj=bbj+11;bj+11=bb0;jhh=jhh+1;coutt直接插插入排序序:enndl完完成的序序列如下下:enndl;for(i=11;ile+1;ii+)couutbii.kkey ;coutteendll共進(jìn)行行比較bbj次,進(jìn)行交交換jhh次enndl*eendll;/void sheelliinseert(poiint c,innt ddk,iint d)int j,ii,q;poinnt aa;for(i=ddk+11;i

5、00&qq=-1;jj=j-dk)ccj+dk=cj;d11=dd1+1;qq=sttrcmmp(aa.keey,ccj-dk.keey);cj+ddk=a;dd1=d1+1;void sheellssortt(poointt c,iint dltta,innt tt)int k,dd2,i;d00=00;d1=0;poinnt bblee+1;for(k=00;kle;k+)bkk+1=ck;for(k=00;kt;kk+)sheelliinseert(b,ddltaak,d);coutt希爾排排序:eendll完成的的序列如如下:eendll;for(i=11;ile+1;ii+)couu

6、tbii.kkey ;coutteendll共進(jìn)行行比較dd0次,進(jìn)進(jìn)行交換換d11次eendll*enddl;/希爾排排序void xieer(ppoinnt cc)int dltta220,t,ii;t=le/2;for(i=00;i20;i+)dlttaii=tt+1;if(t=0)bbreaak;t=tt/2;t=i+1;shelllsoort(c,ddltaa,t);/簡單選選擇排序序void jiaandaanxuuanzze(ppoinnt cc)poinnt aa,ble;int i,jj,jhh=0,bj=0,qq,w;for(i=00;ile;i+)bii=cci;for(

7、i=00;ile-1;ii+)q=ii;forr(j=i+11;jle;j+)bjj=bjj+1;w=strrcmpp(bq.keyy,bj.keyy);iff(w=1)q=jj;if(q=i)cconttinuue;elsse a=bii;bi=bqq;bq=a;jhh=jhh+3;coutt簡單選選擇排序序排序:enddl完成成的序列列如下:enddl;for(i=00;ile;i+)couutbii.kkey ;coutteendll共進(jìn)行行比較bbj次,進(jìn)行交交換jhh次enndl*eendll;int pparttitiion(poiint c,innt llow,intt hiig

8、h,intt d)poinnt aa,b;int jh=0,bbj=00,q;a=cloww;whille(llowhiggh)q=sstrccmp(chhighh.kkey,a.kkey);d0=d00+11;whiile(lowwhiigh&q!=-11)hhighh-;q=sstrccmp(chhighh.kkey,a.kkey);d0=d00+11;b=ccloow;cllow=chiggh;chhighh=bb;d11=dd1+3;q=sstrccmp(cllow.keey,aa.keey);d00=dd0+1;whiile(lowwhiigh&q!=1)loow+;q=strrcm

9、pp(cloww.kkey,a.kkey);d0=d00+11;b=ccloow;cllow=chiggh;chhighh=bb;d11=dd1+3;retuurn(loww);void qsoort(poiint c,innt llow,intt hiigh,intt d)int pivvotlloc;if(llowhiggh)pivvotlloc=parrtittionn(c,loww,hiigh,d);qsoort(c,llow,pivvotlloc-1,dd);qsoort(c,ppivootlooc+11,hiigh,d);/快速排排序void kuaaisuu(poointt c)

10、poinnt bblee;int i,dd2;d0=0;d11=00;for(i=00;ile;i+)bii=cci;qsorrt(bb,0,le-1,dd);coutt快速排排序:eendll完成的的序列如如下:eendll;for(i=00;ile;i+)couutbii.kkey ;coutteendll共進(jìn)行行比較dd1次,進(jìn)進(jìn)行交換換d00次eendll*=0;ii-)q=sstrccmp(bii.kkey,b22*i.keey);*bjj=*bbj+11;if(q=-1)a=bii;bbi=b2*ii;bb2*i=a;*jh=*jhh+3;if(2*ii+1we)q=strrcmp

11、p(bi.keyy,b2*ii+1.keey);*bjj=*bbj+11;iff(q=-11)a=bii;bbi=b2*ii+1;b2*ii+1=a;*jhh=*jjh+33;a=bwe-1;bwwe-11=bb0;b0=a;*jh=*jhh+3;/堆排序序void diuup(ppoinnt cc)poinnt bblee;int i,jjh=00,bjj=0,*j,*bll;j=&jjh;bbl=&bj;for(i=00;i1;i-)diuu(b,i,jj,bll); ccoutt堆排序序:enndl完完成的序序列如下下:enndl;for(i=00;ile;i+)couutbii.kke

12、y ;coutteendll共進(jìn)行行比較bbj次,進(jìn)行交交換jhh次enndl*eendll;void maiin()int i,jj,n=10,anss,ann;charr b=abccdeffghiijkllmnoopqrrstuuvwxxyz;poinnt aalee;for(i=00;ile;i+)n=110;an=rannd()*(nn-1)/RAAND_MAXX+1;n=226;forr(j=0;jjann;j+)anns=rrandd()*(n-0)/RANND_MMAX+0;ai.keyyj=banss;aii.kkeyj=00;for(i=00;ile;i+)couutaii

13、.kkeyenndl;zhijjieccharru(aa);maoppao(a);xierr(a);jianndannxuaanzee(a);kuaiisu(a);diupp(a);四、流程圖圖五、調(diào)試過過程要很好的理理解各種種算法就就可以這這樣才可可以編出出程序來來,要注注意比較較次數(shù)和和交換次次數(shù)的計(jì)計(jì)數(shù)問題題。六、結(jié)果分分析運(yùn)行結(jié)果如如下:ovpjxvteesnhaccjdeeldaajjnoppprlbpuuhwsyyydmgwffvzzpkkghvvjrahhprvvsmfftlytcpptpojflnztieermbbndydxxshbzrdvpeevvmennkhorttsmjv

14、nlcyxooijwilhhhtofttvknnxzbnfvqqrvdtyhitvptgdaabufdoaccltrrblfshhgpnqnzyeiezzlzqlbxhfttkfqqpmpqwvvsojettogepsppjmcctqrudoowpsbrzziohhewteicbbqvookhmnddtivwshyddbunnpbwriccnfhhxrcmjmmnjrnppkassqmtmjuuojyyejdtyypiqwwswadssqbeiijruuupuxdqqgdwbohofcvduxupjwfwwfgzbcnllggddyccbbiixlyvnskgannykgggrylxxapuo

15、dffjakkcwbvrrrurdrsuuwscoybbhzqxjsegxcxlccezuwfflattkibgegddqxyyfqrxlxxrdqqkyopnngjaufkbfeqllplrkvppfykzexoolqsshkxsxkkxiikottttfh直接插入排排序:完成的序列列如下:a bbe bffeqllp bggegddqxyyf bllfshh bnffvqrr bpuuu bwwriccnfhhx bxxhfttkfqqp bzzrd cvdd dmggwf eeg ejjdtyyp ezzuwfflatt fdooaclltr ffh fll g gdddyccbbiix

16、 gdwbb geppspjjmctt gpnnq grrylxxa h hhhprrvsmmft hhtofftvkknx hhwsyyy i iiijrruu j jaauf jjv jwwilhh jxvvte kk khmmnd kkhorrtsmm ki kkxs kkyoppng kkzexollqs ll lcyyxoii ldaaajnnoppp lrkkvpffy lyytcpp lyvvn mppqwvv mtmmjuoojy nn nddydxxsh nnjrnnpkaas nzz nzttierrmb oo ohoof pjjwfwwfg ppsbrrzioohe pp

17、tgddabuu puuodffjakkc puuxdqq q q qq qruudoww qrxxlxrrdq rr rcmmjm rrdrssu rllscoybbh skkgannykgg snhhacjjde ssojeeto sswaddsq tt teiicbqqvo ttiv ttpojj ttttt ttv uxxu vdd vp vvpeeevmeen vzzzpkkghvv w w wwbvrrru wwshyydbuunp www xcxllc xjjs xkkkxiiko yyeieezlzz yhii z zbbcnll zq共進(jìn)行比較較25228次,進(jìn)行交交換266

18、16次次*起泡法:完成的序列列如下:a bbe bffeqllp bggegddqxyyf bllfshh bnffvqrr bpuuu bwwriccnfhhx bxxhfttkfqqp bzzrd cvdd dmggwf eeg ejjdtyyp ezzuwfflatt fdooaclltr ffh fll g gdddyccbbiix gdwbb geppspjjmctt gpnnq grrylxxa h hhhprrvsmmft hhtofftvkknx hhwsyyy i iiijrruu j jaauf jjv jwwilhh jxvvte kk khmmnd kkhorrtsmm

19、 ki kkxs kkyoppng kkzexollqs ll lcyyxoii ldaaajnnoppp lrkkvpffy lyytcpp lyvvn mppqwvv mtmmjuoojy nn nddydxxsh nnjrnnpkaas nzz nzttierrmb oo ohoof pjjwfwwfg ppsbrrzioohe pptgddabuu puuodffjakkc puuxdqq q q qq qruudoww qrxxlxrrdq rr rcmmjm rrdrssu rllscoybbh skkgannykgg snhhacjjde ssojeeto sswaddsq tt

20、 teiicbqqvo ttiv ttpojj ttttt ttv uxxu vdd vp vvpeeevmeen vzzzpkkghvv w w wwbvrrru wwshyydbuunp www xcxllc xjjs xkkkxiiko yyeieezlzz yhii z zbbcnll zq共進(jìn)行比較較49550次,進(jìn)行交交換24469次次*希爾排序:完成的序列列如下:a bbe bffeqllp bggegddqxyyf bllfshh bnffvqrr bpuuu bwwriccnfhhx bxxhfttkfqqp bzzrd cvdd dmggwf eeg ejjdtyyp ez

21、zuwfflatt fdooaclltr ffh fll g gdddyccbbiix gdwbb geppspjjmctt gpnnq grrylxxa h hhhprrvsmmft hhtofftvkknx hhwsyyy i iiijrruu j jaauf jjv jwwilhh jxvvte kk khmmnd kkhorrtsmm ki kkxs kkyoppng kkzexollqs ll lcyyxoii ldaaajnnoppp lrkkvpffy lyytcpp lyvvn mppqwvv mtmmjuoojy nn nddydxxsh nnjrnnpkaas nzz nz

22、ttierrmb oo ohoof pjjwfwwfg ppsbrrzioohe pptgddabuu puuodffjakkc puuxdqq q q qq qruudoww qrxxlxrrdq rr rcmmjm rrdrssu rllscoybbh skkgannykgg snhhacjjde ssojeeto sswaddsq tt teiicbqqvo ttiv ttpojj ttttt ttv uxxu vdd vp vvpeeevmeen vzzzpkkghvv w w wwbvrrru wwshyydbuunp www xcxllc xjjs xkkkxiiko yyeiee

23、zlzz yhii z zbbcnll zq共進(jìn)行比較較8388次,進(jìn)進(jìn)行交換換8000次*簡單選擇排排序排序序:完成的序列列如下:a bbe bffeqllp bggegddqxyyf bllfshh bnffvqrr bpuuu bwwriccnfhhx bxxhfttkfqqp bzzrd cvdd dmggwf eeg ejjdtyyp ezzuwfflatt fdooaclltr ffh fll g gdddyccbbiix gdwbb geppspjjmctt gpnnq grrylxxa h hhhprrvsmmft hhtofftvkknx hhwsyyy i iiijrruu

24、 j jaauf jjv jwwilhh jxvvte kk khmmnd kkhorrtsmm ki kkxs kkyoppng kkzexollqs ll lcyyxoii ldaaajnnoppp lrkkvpffy lyytcpp lyvvn mppqwvv mtmmjuoojy nn nddydxxsh nnjrnnpkaas nzz nzttierrmb oo ohoof pjjwfwwfg ppsbrrzioohe pptgddabuu puuodffjakkc puuxdqq q q qq qruudoww qrxxlxrrdq rr rcmmjm rrdrssu rllsco

25、ybbh skkgannykgg snhhacjjde ssojeeto sswaddsq tt teiicbqqvo ttiv ttpojj ttttt ttv uxxu vdd vp vvpeeevmeen vzzzpkkghvv w w wwbvrrru wwshyydbuunp www xcxllc xjjs xkkkxiiko yyeieezlzz yhii z zbbcnll zq共進(jìn)行比較較49550次,進(jìn)行交交換2779次*快速排序:完成的序列列如下:a bbe bffeqllp bggegddqxyyf bllfshh bnffvqrr bpuuu bwwriccnfhhx

26、bxxhfttkfqqp bzzrd cvdd dmggwf eeg ejjdtyyp ezzuwfflatt fdooaclltr ffh fll g gdddyccbbiix gdwbb geppspjjmctt gpnnq grrylxxa h hhhprrvsmmft hhtofftvkknx hhwsyyy i iiijrruu j jaauf jjv jwwilhh jxvvte kk khmmnd kkhorrtsmm ki kkxs kkyoppng kkzexollqs ll lcyyxoii ldaaajnnoppp lrkkvpffy lyytcpp lyvvn mppqwvv mtmmjuoojy nn nddydxxsh nnjrnnpkaas nzz nzttierrmb oo ohoof pjjwfwwfg ppsbrrzioohe pptgddabuu puuodffjakkc puuxdqq q q qq qruudoww qrxxlxrrdq rr rcmmjm rrdrssu rllscoybbh skkgannykgg snhhacjjde ssojeeto sswaddsq tt teiicbqqvo ttiv ttpojj ttttt ttv uxxu vdd vp vvp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論