




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、華北電力大學(xué)實(shí)驗(yàn)報(bào)告|實(shí)驗(yàn)名稱算法設(shè)計(jì)實(shí)驗(yàn)課程名稱算法設(shè)計(jì)與分析|專業(yè)班級(jí):信安1301專業(yè)班級(jí):信安1301學(xué) 號(hào):指導(dǎo)教師:胡朝舉學(xué)生:成 績(jī):實(shí)驗(yàn)日期:2015年11月實(shí)驗(yàn)一、歸并排序(實(shí)驗(yàn)一、歸并排序(Merging Sort)分治策略一、實(shí)驗(yàn)容歸并排序是一個(gè)非常優(yōu)秀的排序方法,也是典型的分治策略的典型應(yīng)用。實(shí)驗(yàn)要求:編寫(xiě)一個(gè)模板函數(shù):template MergeSort(T *a, int n);以及相應(yīng)的一系列函數(shù),采用分治策略,對(duì)任意具有:bool operator(c onst T& x,c onst T&y);比較運(yùn)算符的類型進(jìn)行排序。 與STL庫(kù)中的函數(shù)std:sort(.
2、)進(jìn)行運(yùn)行時(shí)間上的比較,給出比較結(jié)果,如:動(dòng)態(tài)生成 100萬(wàn)個(gè)隨機(jī)生成的附點(diǎn)數(shù)序列的排序列問(wèn)題,給出所用的時(shí)間比較。歸并排序就是將兩個(gè)或兩個(gè)以上的有序表合并成一個(gè)有序表的過(guò)程。將兩個(gè)有序表合并成一個(gè)有序表的過(guò)程稱為2-路歸并。二、主要思想假設(shè)初始序列含有 n個(gè)記錄,則可看成 n個(gè)有序的子序列,每個(gè)字序列的長(zhǎng)度為 1,然后兩兩歸并, 得到n/2個(gè)長(zhǎng)度為2或1的有序子序列;再兩兩歸并, ,如此重復(fù),直到一個(gè)長(zhǎng)度為 n的有序序列 為止。例已知待排序記錄的關(guān)鍵字序列為49,38,65,97,76,13,27,給出2-路歸并排序法進(jìn)行排序的過(guò)程初始關(guān)鍵字49 t138 |651 ,97 |176113|
3、27一趟片并之后3849|L,16597)113?6|2 I!7二越歸并之后卩84965L.97B27|狗三趟歸并之后1327384965761丁7|厶路歸并排序過(guò)程2-路歸并排序中的核心操作是,將待排序序列中前后相鄰的兩個(gè)有序序列歸并為一個(gè)有序序列。相鄰兩個(gè)有序子序列的歸并設(shè)兩個(gè)有序表存放在同一數(shù)組中相鄰的位置上:Rlow.mid禾口 Rmid+1.high,每次分被從兩個(gè)表中取出一個(gè)記錄進(jìn)行關(guān)鍵字的比較,將較小者放入Tlow.high中,重復(fù)此過(guò)程,直至其中一個(gè)表為空,最后將另一非空表中余下的部分直接復(fù)制到T中。三、實(shí)驗(yàn)結(jié)果四、算法分析時(shí)間復(fù)雜度當(dāng)有n個(gè)記錄時(shí),需進(jìn)行l(wèi)og2n趟歸并排序,
4、每一趟歸并,其關(guān)鍵字比較次數(shù)不超過(guò)n, 元素移動(dòng)次數(shù)都是n,因此,歸并排序的時(shí)間復(fù)雜度為O(nlog2n)。空間復(fù)雜度用順序表實(shí)現(xiàn)歸并排序時(shí),需要和待排序記錄個(gè)數(shù)相等的輔助存儲(chǔ)空間,所以空間復(fù) 雜度為0(n);五、實(shí)驗(yàn)代碼#in clude#i nclude#in clude#i nclude#i ncludeusing n amespace std;templatevclass Typevoid MergSort(Type a, int n)Type *b = new Type n;int s = 1;while (s void MergPass(Type x, Type y, int s,
5、 int n)int i = 0;while (i = n - 2 * s)Merg(x, y, i, i + s - 1, i + 2 * s - 1);i = i + 2 * s;if (i + s n)Merg(x, y, i, i + s - 1, n - 1);else/如果剩下的不夠i+s,則把剩下的放入y中for (i nt j = i; j void Merg(Type c, Type d, int l, i nt m, int r)int i = l, j = m + 1, k = l;while (i = m) & (j = r)if (ci m)for (int q =
6、j; q = r; q+)dk+ = cq;elsefor (int q = i; q = m; q+)dk+ = cq;float ran df(float base, float up)return (ran d() % (in t)(up - base) * RAND_MAX) / (float)RAND_MAX ; /產(chǎn)生隨機(jī)數(shù)void prin tArray(float *a,i nt N)for(i nt i=0;i=N;i+)coutaie ndl;void mai n()int ArrayLe n = 5;float *array = new floatArrayLe n;fl
7、oat *arrays = new floatArrayLe n;float mn, ene;printf(數(shù)組已建立:n);srand(unsigned)time(NULL); /設(shè)置隨機(jī)數(shù)的 seedfor (int i = 0; i fflag;switch (fflag)case 0:break;case 1:MergSort(array, ArrayLe n);prin tArray(array, ArrayLe n); break;prin tf(=n);prin tf(n);clock_t s = 0, e = 0;s = clock();MergSort(array, ArrayLe n);e = clock();cout MergSort 運(yùn)行了: (e - s) ms endl;clock_t start1 = 0, end1 = 0;start1 = clock();std:sort(&arrays0, & arraysArrayLe n);end1 = clock();cout std:sort 運(yùn)行了: (end1 - start1) ms endl; int flag = 1;while (flag != 0)coutvv輸入
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)4-哌啶基哌啶數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2025年中國(guó)1,4-環(huán)己二酮數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2025至2030年中國(guó)高光模壓板市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)酒店桌裙市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)螺旋重質(zhì)除渣器市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)空氣健康劑市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)電氣測(cè)試設(shè)備市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)熱熔反光型標(biāo)線涂料市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)波形護(hù)欄市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)循環(huán)水真空抽氣泵市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2024年全民(人口和計(jì)劃生育)知識(shí)試題與答案
- 《鍵盤指法練習(xí)》課件
- 丙肝防治培訓(xùn)課件
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)劉建華課后參考答案
- 用工情況說(shuō)明格式及范文
- JCT587-2012 玻璃纖維纏繞增強(qiáng)熱固性樹(shù)脂耐腐蝕立式貯罐
- 網(wǎng)絡(luò)安全策略優(yōu)化
- 國(guó)開(kāi)大學(xué)2023年01月11282《社會(huì)學(xué)概論(本)》期末考試答案
- 中特第五講社會(huì)建設(shè)天津大學(xué)
- 密封條范文模板(A4打印版)
- 施工現(xiàn)場(chǎng)安全交底15篇
評(píng)論
0/150
提交評(píng)論