




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、算法設(shè)計與分析上 機(jī) 實 驗 報 告專 業(yè)軟件工程班 級軟件1101學(xué) 號04113033學(xué)生姓名岳彥利完成日期2013-11-71. 上機(jī)題目及實驗環(huán)境1.1上機(jī)題目:數(shù)字三角形問題1.2實驗環(huán)境:CPU:英特爾 第二代酷睿i3-2330M 2.2GHz 雙核內(nèi)存:4G操作系統(tǒng):windows 7軟件平臺:ubuntu2. 算法設(shè)計與分析小1)根據(jù)題意找出最優(yōu)解的性質(zhì),并刻畫出其結(jié)構(gòu)特性。 2).以自底向上的方式計算出最優(yōu)值。 3).根據(jù)計算最優(yōu)值時得到的信息,構(gòu)造最優(yōu)解。 4).從倒數(shù)第二an-20 開始,將自己與下一行同列的數(shù)組相加在和自己與下一行下一列的數(shù)相加的結(jié)果比較,將大的存放在自
2、己中。 5).找到最大和之后,又從上往下找到組成這條最大和的路徑。3. 核心代碼 void maxsum(int (*a)max_num+10,int n)int i,j,max,t;int bn;FILE *fp1;for(i=n-1;i>=1;i-)/從倒數(shù)第二層向上求最大和for(j=1;j<=i;j+)if(aij+ai+1j)<(aij+ai+1j+1)aij=(aij+ai+1j+1);elseaij=(aij+ai+1j);if(a21<a22)/由最大和找第二層的路徑t=2;max=a22;b1=a11-a22;elset=1;max=a21;b1=a1
3、1-a21;for(i=3;i<=n;i+)從第三層開始找最大和的路徑知道第n層if(ait<ait+1)t=t+1;bi-1=max-ait;max=ait;elsebi-1=max-ait;max=ait;bn=ait;printf("路徑:n");for(i=1;i<=n;i+)printf("%d ",bi);fp1=fopen("output.txt","wt"); if(fp1=NULL) printf("cannot open!"); exit(0); fprin
4、tf(fp1,"%d",a11);printf("noutput.txt:n");fp1=fopen("output.txt","r"); if(fp1=NULL) printf("cannot open!"); exit(0); / for(i=0;!feof(fp1);i+)/printf("");fscanf(fp1,"%d",&a11);printf("%dn",a11);4. 運(yùn)行與調(diào)試 圖一.寫程序時遇到的問題 (路
5、徑出錯) 圖二.修改后的正確結(jié)果 圖三. 另一組數(shù)組測試 5. 結(jié)果分析和小結(jié)如圖一,在寫路徑時最后一個數(shù)輸出結(jié)果過錯誤,經(jīng)過調(diào)試 ,發(fā)現(xiàn)路徑循環(huán)是到倒數(shù)第二行為止的,經(jīng)過修改輸出正確結(jié)果如圖二。如圖二,第一行的數(shù)代表行數(shù),從第二行開始想最后一行找一條和最大的路徑,如圖二。如圖三, 另一組測試結(jié)果。(2)本次上機(jī)實驗的收獲、心得體會。這次的上機(jī)實驗,使我對動態(tài)規(guī)劃法有了更進(jìn)一步的認(rèn)識,編程的時候也有了更多的思路, 在編程之前一定把思路清晰,這樣寫的時候就比較輕松了。解決問題的時候,可以將帶求解的問題分為若干子問題求解,保存子問題的結(jié)果,遇到下一個相同的子問題直接調(diào)用就可以了??梢源蟠蠊?jié)省時間,
6、從而更好的計算出結(jié)果,對找路徑也有了另一種視野。附錄(C/C+源代碼)#include<stdio.h>#include<stdlib.h>#include<math.h>#include<time.h>#define max_num 100int amax_num+10max_num+10;void maxsum(int (*a)max_num+10,int n)int i,j,max,t;int bn;FILE *fp1;for(i=n-1;i>=1;i-)/從倒數(shù)第二層向上求最大和for(j=1;j<=i;j+)if(aij+a
7、i+1j)<(aij+ai+1j+1)aij=(aij+ai+1j+1);elseaij=(aij+ai+1j);if(a21<a22)/由最大和找第二層的路徑t=2;max=a22;b1=a11-a22;elset=1;max=a21;b1=a11-a21;for(i=3;i<=n;i+)從第三層開始找最大和的路徑知道第n層if(ait<ait+1)t=t+1;bi-1=max-ait;max=ait;elsebi-1=max-ait;max=ait;bn=ait;printf("路徑:n");for(i=1;i<=n;i+)printf(&
8、quot;%d ",bi);fp1=fopen("output.txt","wt"); if(fp1=NULL) printf("cannot open!"); exit(0); fprintf(fp1,"%d",a11);printf("noutput.txt:n");fp1=fopen("output.txt","r"); if(fp1=NULL) printf("cannot open!"); exit(0); / fo
9、r(i=0;!feof(fp1);i+)/printf("");fscanf(fp1,"%d",&a11);printf("%dn",a11);main()int i,j;int n;FILE *fp;printf("input.txt:n");fp=fopen("input.txt","r");if(fp=NULL)printf("cannot open!");exit(0);fscanf(fp,"%d",&n);printf("%dn",n);for(i=1;i<=n;i+)/輸出成到三角形式for(j=1;j<=i;j+) f
溫馨提示
- 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至2030年中國氯丁橡膠圓弧齒同步帶行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國歐式光面瓦行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國條形碼不干膠標(biāo)簽行業(yè)投資前景及策略咨詢報告
- 水稻產(chǎn)業(yè)鏈效率優(yōu)化的勞動資源研究
- 化纖原料等企業(yè)經(jīng)營管理方案
- 高中英語閱讀理解課堂練+全文主旨大意題+課件-2026屆高三英語二輪復(fù)習(xí)專項
- 初中綜合實踐活動在跨學(xué)科教學(xué)中的價值與意義分析
- 關(guān)于成立新能源汽車精密零部件公司可行性研究報告(范文模板)
- DB43T-示范性街道綜合養(yǎng)老服務(wù)中心運(yùn)營管理規(guī)范
- 留守兒童事跡(5篇)
- 風(fēng)險評估理論與應(yīng)用
- 護(hù)理安全用藥制度
- 《普通邏輯》第五版課后習(xí)題答案
- 中國藥妝行業(yè)發(fā)展現(xiàn)狀、藥妝市場政策解讀及未來發(fā)展趨勢分析圖
- 焊接車間作業(yè)流程看板
- 圍堰施工監(jiān)理實施細(xì)則
- 老年癡呆護(hù)理
- 車間精益改善總結(jié)報告課件(PPT 19頁)
- 中小學(xué)教育懲戒規(guī)則(試行)全文解讀ppt課件
- YY∕T 1797-2021 內(nèi)窺鏡手術(shù)器械 腔鏡切割吻合器及組件
- 《冬病夏治工作指南》
評論
0/150
提交評論