排序問(wèn)題理工學(xué)院城市學(xué)院_第1頁(yè)
排序問(wèn)題理工學(xué)院城市學(xué)院_第2頁(yè)
排序問(wèn)題理工學(xué)院城市學(xué)院_第3頁(yè)
排序問(wèn)題理工學(xué)院城市學(xué)院_第4頁(yè)
排序問(wèn)題理工學(xué)院城市學(xué)院_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余21頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、一1 工作進(jìn)度表及組員分二123操作系編譯環(huán)硬件環(huán)一1 工作進(jìn)度表及組員分二123操作系編譯環(huán)硬件環(huán)三123456文件函排序函計(jì)時(shí)方四源代運(yùn)行結(jié)測(cè) 結(jié)果分七123數(shù)圖表分分析結(jié)八123.九參考文任務(wù)1工作進(jìn)度表及組員分工方時(shí)方法設(shè)完善內(nèi)任務(wù)1工作進(jìn)度表及組員分工方時(shí)方法設(shè)完善內(nèi)粵粵粵粵粵二開發(fā)環(huán)1操作系統(tǒng)windows2編譯環(huán)境Visual二開發(fā)環(huán)1操作系統(tǒng)windows2編譯環(huán)境VisualC+ 3硬件環(huán)境設(shè)及功能模1功能模塊圖2產(chǎn)生隨機(jī)數(shù) 3 設(shè)及功能模1功能模塊圖2產(chǎn)生隨機(jī)數(shù) 3 直4 排序(binary insertion sort)置為 ahigh,則輪比較時(shí)將待元素與 am,其中

2、m=(low+high)/2 相比較,如果比參考,則選擇 alow到 am-14 排序(binary insertion sort)置為 ahigh,則輪比較時(shí)將待元素與 am,其中 m=(low+high)/2 相比較,如果比參考,則選擇 alow到 am-1為新區(qū)域(即 high=m-1),否則選擇 am+1到 ahigh為low=m+1 的時(shí)間復(fù)雜度仍然為O(n2)排序算法相同。附加空間O(1)排序 nd1 d1 Hibbard 本5 計(jì)時(shí)方 本5 計(jì)時(shí)方 6 功能函數(shù)設(shè)void Prvoid* countchar *filename);/將array數(shù)組寫入文件名為filenamelo

3、nglong*longlong*long*(* highlong*#longlong*longlong*long*(* highlong*#include # include #includectypecount);/產(chǎn)生number個(gè)隨機(jī)整數(shù),返回?cái)?shù)組的地voidPr (*void*, long InsertSort(* array,long*long*long BubbleSort(* array, longQuickSort(*array,*long*i, second, tmp;/time數(shù)組保存各個(gè)排序函數(shù)的運(yùn)行時(shí)間,一一與下面的注釋對(duì)應(yīng),與second 保存最快的兩個(gè)時(shí)間在time

4、 中的下標(biāo)。tmp 為臨時(shí)數(shù)據(jù)。/0)insert, 1)binary, 2)s,3)bubble,4)quick,5)select; char sort610 = 四dk=200,dk=200,100,50,25, 15,7,5,3,pr f(請(qǐng)輸入要產(chǎn)生的隨機(jī)數(shù)個(gè)數(shù):); scanf(%d, &count);for(i=0; i 5; i+)copyi=Copy(array,Pr (array,count); pr f(n按任意鍵對(duì)隨機(jī)數(shù)進(jìn)行各類排序,顯示各類排序使用的時(shí)間:); time0 = InsertSort(array, count); time1 = BinarySort(co

5、py0, count); time2 =SSort(copy1,count,dk,9); time3 = BubbleSort(copy2, count); time4=QuickSort(copy3,0,count-1); time5 = SelectionSort(copy4, count);pr f(nSaveFile(array, count, insert.dat);pr f(n折半排序使用的時(shí)間:%ldmstime1); SaveFile(array, count, binary.dat);pr f(nSaveFile(array, count, spr f(n冒泡排序使用的時(shí)間:

6、%ldmstime3); SaveFile(array, count, bubble.dat);pr f(n快速排序使用的時(shí)間:%ldmstime4); SaveFile(array, count, quick.dat);pr f(n選擇排序使用的時(shí)間:%ldmstime5); SaveFile(array, count, select.dat);tmp = 0;for(i=1;i6;tmp = i;tmp = 0;for(i=1;i6;for(i=1;i6;if(i =if(timeitimetmp) tmp = i;second=pr f(nn 其中最快的兩個(gè)排序?yàn)閜r f(n%s排序使用

7、的時(shí)間:%ldms,pr f(n%s排序使用的時(shí)間:%ldmssortsecondtimesecond); pr f(n);return*copy=*)malloc(sizeof( ) *for(i=0;icount;copyi =returnvoidPr *pr for(i=0;icount;pr f(%8d,pr /*QuickSortlong/*QuickSortlong*clock_t end;start=;if (low=FindQuickSort(a,low,+1,end =returnend =*val=while(lowwhile(low= alow =while(lowhig

8、h&alow=ahigh =alow =return/*QuickSortSort/*QuickSortSortvoid*i, j, for(i=dk;i 0&(j-dk) =0;j-tmp = arrayj; arrayj=arrayj-dk; arrayj-dk = tmp;long*clock_t end;for(i=0;it; end =returnend- long time = end-start / CLOCKS_PER_SEC;/ CLOCKS_PER_SEC 表示一秒鐘會(huì)有多少個(gè)時(shí)鐘計(jì)時(shí)元return*return*i,*array=*)malloc(sizeof( ) *p

9、r f(請(qǐng)輸入要產(chǎn)生的隨機(jī)數(shù)范圍:0 ? :); scanf(%d, &high);for(i=0; i count; i+)arrayi=rand()% returnlong*clock_t end;i, j, tmp;for(i=1;i0;j-tmp = arrayj; arrayj=arrayj-1; arrayj-1 = tmp;end =returnend- long*long*clock_t end;start =i,j,tmp,low,high,mid; for(i=1; i count; i+)low = 0; high=i-1;while(low=mid =(low+ hig

10、h) / 2; low =mid +elseif(arrayihigh;j-tmp = arrayj; arrayj=arrayj-1; arrayj-1 = tmp;end =returnend- long*clock_tclock_tclock_ti, j, tmp;for(i=0;icount;for(j=1; j tmp = arrayj-1; arrayj = tmp;end =returnend- long*clock_t end;start =i,j,k, for(i=1;icount; k =for(j=i+1;j=count;if(arrayjk =if(k!=t = arr

11、ayi; arrayk=arrayk=end =returnend- void*count,char*i = 0;if(fp=fopen(filename,w)=pr f(創(chuàng)建文件出錯(cuò)!n); while(i fpr f(fp,%dn,arrayi); pr f(數(shù)據(jù)已保存至%s文件中五運(yùn)行結(jié) 五運(yùn)行結(jié) 1 隨機(jī)數(shù)不同數(shù)量級(jí)的測(cè)試1 隨機(jī)數(shù)不同數(shù)量級(jí)的測(cè)試(使用 09999 的隨機(jī)數(shù),100002010000200005000010050000100000各種排序在不同數(shù)量級(jí)下的排序時(shí)間統(tǒng)計(jì)02000數(shù)量級(jí)各種排序在不同數(shù)量級(jí)下的排序時(shí)間統(tǒng)計(jì)02000數(shù)量級(jí)2 測(cè)試各種排序結(jié)果的準(zhǔn)確性(100

12、0009999數(shù)#2 測(cè)試各種排序結(jié)果的準(zhǔn)確性(1000009999數(shù)#includestdio# define COUNT 10000/定義void write(void);*pr f(*測(cè)試程序說(shuō)明:1表示執(zhí)行過(guò)算法的交換部分,0則否*nn); for(i=0; i 7; i+)pr f(此文件是否執(zhí)行過(guò)交換部分:%dnnBubbleSort(arrayreturn*i, j, =for(i=0;ifor(i=0;icount;for(j=1; j =tmp =arrayj-1; arrayj = tmp;void i = 0;charpr f(請(qǐng)輸入要scanf(%s, filename

13、);if(fp=fopen(filename,r)=pr f(while(i pr 果分1數(shù)排序方平均時(shí)間10 20 數(shù)量級(jí) 排序時(shí) 30 數(shù)量級(jí) 果分1數(shù)排序方平均時(shí)間10 20 數(shù)量級(jí) 排序時(shí) 30 數(shù)量級(jí) 排序時(shí) 40 數(shù)量級(jí) 排序時(shí) 50 數(shù)量級(jí) 排序時(shí) 直接插是折半排是2圖表分析3分析結(jié)論數(shù)量級(jí)增加對(duì)排序時(shí)間的影響010000200003000040000500002圖表分析3分析結(jié)論數(shù)量級(jí)增加對(duì)排序時(shí)間的影響01000020000300004000050000排序否冒泡排是快速排否選擇排否八收獲1粵23圖、文件等知識(shí),并且介紹了 設(shè)計(jì)中常見(jiàn)的排序和搜索等方法。通過(guò)本學(xué)期的學(xué)習(xí),我在這次的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)實(shí)驗(yàn)中, 小組 合力,充分發(fā)揮了團(tuán)體合作的精神,組長(zhǎng)的帶領(lǐng)指導(dǎo)下, 很快完成了整個(gè)程序的代碼書寫,盡管在此過(guò)程中, 遇到了許多問(wèn)題,甚至連運(yùn)行都 的情況下, 也不擔(dān)心,因?yàn)?相信 有能力可以修改好的,經(jīng)過(guò)組長(zhǎng)的精心查找,以及隊(duì)員的 八收獲1粵23圖、文件等知識(shí),并且介紹了 設(shè)計(jì)中常見(jiàn)的排序和搜索等方法。通過(guò)本學(xué)期的學(xué)習(xí),我在這次的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)實(shí)驗(yàn)中, 小組 合力,充分發(fā)揮了團(tuán)體合作的

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論