



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗一 算法的時間復(fù)雜度一、實驗?zāi)康呐c要求熟悉C/C+語言的集成開發(fā)環(huán)境; 通過本實驗加深對算法分析基礎(chǔ)知識的理解。二、實驗內(nèi)容 : 掌握算法分析的基本方法,并結(jié)合具體的問題深入認(rèn)識算法的時間復(fù)雜度分析。三、實驗題定義一個足夠大的整型數(shù)組, 并分別用起泡排序、 簡單選擇排序、 快速排序和歸并排序?qū)?shù) 組中的數(shù)據(jù)進(jìn)行排序(按從小到大的順序排序) ,記錄每種算法的實際耗時,并結(jié)合數(shù)據(jù)結(jié) 構(gòu)中的知識對算法的時間復(fù)雜度分析進(jìn)行說明。實驗數(shù)據(jù)分兩種情況:1、數(shù)組中的數(shù)據(jù)隨機(jī)生成;2、數(shù)組中的數(shù)據(jù)已經(jīng)是非遞減有序。四、實驗步驟 理解算法思想和問題要求; 編程實現(xiàn)題目要求; 上機(jī)輸入和調(diào)試自己所編的程序;
2、驗證分析實驗結(jié)果; 整理出實驗報告。五、實驗程序 #include<iostream> #include<time.h> #include<windows.h> using namespace std;void SelectSort(int r , int n)int i;int j;int index;int temp;for (i=0; i<n -1; i+)index=i;for (j=i+1; j<n; j+)if (rj<rindex) index=j;if (index!=i)temp=ri; ri=rindex; rindex
3、=temp;for(i=0;i<n;i+)cout<<ri<<" " cout<<"n"void BubbleSort(int r, int n)int temp;int exchange;int bound;exchange=n-1;while (exchange)bound=exchange; exchange=0;for (int j=0; j<bound; j+) if (rj>rj+1)temp=rj;rj=rj+1;rj+1=temp;exchange=j;for(int i=0;i<
4、;n;i+) cout<<ri<<" "cout<<"n"int Partition(int r, int first, int end)int i=first;int j=end;int temp;while (i<j)while (i<j && ri<= rj)j-;if (i<j)temp=ri;ri=rj; rj=temp;i+;while (i<j && ri<= rj) i+; if (i<j) temp=rj; rj=ri; ri=
5、temp;j-;return i;/ 快速排序void QuickSort(int r, int first, int end) if (first<end)int pivot=Partition(r, first, end);QuickSort(r, first, pivot -1);QuickSort(r, pivot+1, end);void Merge(int r, int r1, int s, int m, int t) int i=s;int j=m+1;int k=s;while (i<=m && j<=t)if (ri<=rj)r1k+=
6、ri+;elser1k+=rj+;if (i<=m)while (i<=m)r1k+=ri+;elsewhile (j<=t)r1k+=rj+;void MergePass(int r , int r1 , int n, int h)int i=0;int k;while (i<=n -2*h)Merge(r, r1, i, i+h -1, i+2*h -1); i+=2*h;if (i<n -h)Merge(r, r1, i, i+h -1, n);else for (k=i; k<=n; k+)r1k=rk;void MergeSort2(int r,
7、int r1, int r2,int s, int t) int m;if (s=t)r1s=rs;elsem=(s+t)/2;MergeSort2(r, r2, r1, s, m);MergeSort2(r, r2, r1, m+1, t); Merge(r2, r1, s, m, t);int main()int b100;const int numv=100; clock_t t=clock();for(int k=0;k<100;k+) bk=rand()%100;cout<<bk<<" "cout << "n 起
8、泡排序結(jié)果為: " << "n"BubbleSort(b, numv);cout<<clock() -t<<"ms"<<endl;cout<<"n 簡單選擇排序結(jié)果為: "<<"n"SelectSort(b, numv);cout<<clock() -t<<"ms"<<endl; cout<<"n 快速排序結(jié)果為: "<<"n
9、" QuickSort(b,0,100);for(int j=0;j<100;j+) cout<<bj<<" "cout<<"n"cout<<clock() -t<<"ms"<<endl;const int h=100;int b1h;for(int i=0;i<h;i+) b1i=rand()%k;int a1h;int c1h;cout<<"n 歸并排序結(jié)果為: "<<"n" MergeSort2(b1,a1,c1,0,h -1);for(int m=0; m < h; m+) cout<<a1m<<" "cout<<"n"cout<<(clock() -t)<<"ms"<<endl;return 0;六 實驗結(jié)果 當(dāng)隨機(jī)數(shù)為 10 時: 起泡排序結(jié)果為: 4ms 簡單選擇排序結(jié)果為: 7ms 快速排序結(jié)果為: 12ms 歸并排序結(jié)果為: 16ms 當(dāng)隨機(jī)數(shù)為 100 時: 起泡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三中去年考試試卷及答案
- 2025年租賃合同下的建房計劃
- 浙江國企招聘2025金華智園至尚資產(chǎn)經(jīng)營有限公司招聘17人筆試參考題庫附帶答案詳解
- 2025綜合商務(wù)合作合同
- 孤殘兒童庇護(hù)服務(wù)社會資源動員策略考核試卷
- 聚丙烯酸甲酯靜電紡絲考核試卷
- 電氣設(shè)備在工業(yè)鍋爐控制系統(tǒng)中的應(yīng)用考核試卷
- 石油開采業(yè)的創(chuàng)新發(fā)展與價值創(chuàng)造考核試卷
- 管道工程自動化與智能化考核試卷
- 牛飼養(yǎng)常見疾病防治考核試卷
- 【武漢大學(xué)】2025DeepSeek驅(qū)動下的地圖生成報告
- (廣東二模)2025年廣東省高三高考模擬測試(二)歷史試卷(含答案)
- 高空作業(yè)簡答試題及答案
- 通信服務(wù)公司管理制度
- 2025年班組安全培訓(xùn)考試試題ab卷
- T-CHSA 082-2024 上頜竇底提升專家共識
- 《集中用餐單位落實食品安全主體責(zé)任監(jiān)督管理規(guī)定》解讀與培訓(xùn)
- 安徽省示范高中皖北協(xié)作區(qū)2025屆高三下學(xué)期第27屆聯(lián)考(一模)數(shù)學(xué)試題 含解析
- 食品安全管理制度文本(完整版)餐飲
- 思政微課紅色教育
- 傳染病防控與報告課件
評論
0/150
提交評論