下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、算法設(shè)計(jì)與分析課程設(shè)計(jì)題目: 最大子長(zhǎng)方體問題 專業(yè): 網(wǎng)絡(luò)工程 班級(jí): 學(xué)號(hào): 姓名: 計(jì)算機(jī)工程系 2012年 11 月 16 日一、算法問題描述一個(gè)立方體被分割成n個(gè)小立方體,每個(gè)小立方體內(nèi)有一個(gè)整數(shù)。試設(shè)計(jì)一個(gè)算法,計(jì)算出所給立方體的最大子長(zhǎng)方體。子長(zhǎng)方體的大小由它所含所有整數(shù)之和確定。二、算法問題形式化表示三、期望輸入與輸出輸入:輸入的第1行是3個(gè)正整數(shù)m,n,p,1m,n,p50。接下來m*n行每行p個(gè)正整數(shù),表示小立方體中的數(shù)。 輸出:輸出的第1行中的數(shù)是計(jì)算出的最大子長(zhǎng)方體的大小。樣例輸入:請(qǐng)輸入立方體的長(zhǎng)m,寬n,高p為:3 3 3m*n行中每行的p個(gè)正整數(shù)為:0 -1 21
2、 2 21 1 -2-2 -1 -1-3 3 -2-2 -3 1-2 3 30 1 32 1 -3樣例輸出:所給立方體的最大子長(zhǎng)方體為:14四、算法分析與步驟描述 1算法總體過程 2最優(yōu)值實(shí)現(xiàn)過程中信息的保存 在算法的實(shí)現(xiàn)過程中,是將原長(zhǎng)方體分解成若干子長(zhǎng)方體,每個(gè)子長(zhǎng)方體都要轉(zhuǎn)化成矩陣,求出各個(gè)矩陣的最大子矩陣,最優(yōu)值就存在于這些最大子矩陣中,如果想獲得最優(yōu)解就必須對(duì)各個(gè)最大子矩陣的信息進(jìn)行保存;同理,將子長(zhǎng)方體轉(zhuǎn)化成矩陣,分解成若干子矩陣,每個(gè)子矩陣都要轉(zhuǎn)化成段,求出各個(gè)段的最大子段,要獲得最大子矩陣,就得從這些最大子段中比較求得,如果想獲得最優(yōu)解就必須對(duì)各個(gè)最大子段和的信息進(jìn)行保存,為此
3、,定義了下面的方法: static int max(int i,int j)if(i=j)return i;else return j; 3.算法的實(shí)現(xiàn) 最大子長(zhǎng)方體問題的動(dòng)態(tài)規(guī)劃算法如下: static int MaxSum3(int a,int m,int n,int p)int sum=0;int b=new int 5050;int k,i,j,z,x;for(i=0;ip;i+)for(z=0;zm;z+)for(x=0;xn;x+)bzx=0;/初使化for( j=i;jp;j+)for(z=0;zm;z+)for(x=0;xn;x+)bzx+=azxj;sum=max(sum,M
4、axSum2(b,m,n);return sum; 其中MaxSum2()為最大子矩陣問題的動(dòng)態(tài)規(guī)劃算法,具體實(shí)現(xiàn)過程如下: static int MaxSum2(int a,int m,int n) /二維M*N的矩陣int sum=0;int b=new int50;int k=0;for(int i=0;im;i+)for(k=0;kn;k+)bk=0;for(int j=i;jm;j+)for(k=0;kn;k+)bk+=ajk;sum=max(sum,MaxSum(b,n);return sum;五、問題實(shí)例及算法運(yùn)算步驟 設(shè)當(dāng)前子長(zhǎng)方體是最優(yōu)子長(zhǎng)方體,用num進(jìn)行標(biāo)志,其在i、j和
5、k方向上的起止位置分別為:(i1,i2)、(j1,j2)、(k1,k2)。k1、k2在算法MaxSum3中很容易確定,并已保存在three1,three2變量中;i1、i2要在MaxSum2中確定,它們的值保存在memtwonum.one1和memtwonum.one2中,由num1用來標(biāo)志獲得最優(yōu)子長(zhǎng)方體的最優(yōu)子矩陣;j1、j2的值要在MaxSum1中確定,保存在memonenum1.two1和memonenum1.two2中,并在MaxSum2中賦值memtwonum.two1 =memonenum1.two1,memtwonum.two2=memonenum1.two2。若在MaxSum
6、3中判斷出當(dāng)前子長(zhǎng)方體是當(dāng)前的最優(yōu)解,則進(jìn)行賦值num3=num,num3最終保存的就是最優(yōu)子長(zhǎng)方體的標(biāo)志。最優(yōu)值確定后,進(jìn)行賦值two1= memtwonum3.two1,two2=memtwonum3.two2,one1= memtwonum3.one1,one2= memtwonum3.one2,并通過如下算法,輸出最大子長(zhǎng)方體: for(int i=0;im;i+)for(int j=0;jn;j+)for(int k=0;kp;k+)aijk=Integer.parseInt(sc.next();System.out.println(所給立方體的最大子長(zhǎng)方體為:);System.out.println(MaxSum3(a,m,n,p);六、算法運(yùn)行截圖七、算法復(fù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽輪機(jī)和水輪機(jī)檢修工操作水平知識(shí)考核試卷含答案
- 遺體防腐整容師崗前安全技能考核試卷含答案
- 氧化擴(kuò)散工崗前操作安全考核試卷含答案
- 量具制造工安全知識(shí)宣貫評(píng)優(yōu)考核試卷含答案
- 盾構(gòu)機(jī)操作工測(cè)試驗(yàn)證能力考核試卷含答案
- 護(hù)理質(zhì)量與團(tuán)隊(duì)協(xié)作
- 數(shù)控技術(shù)職業(yè)發(fā)展趨勢(shì)
- 企業(yè)風(fēng)險(xiǎn)管理與防范制度
- 2026年及未來5年市場(chǎng)數(shù)據(jù)中國(guó)液晶模組行業(yè)發(fā)展監(jiān)測(cè)及投資策略研究報(bào)告
- 2026年及未來5年市場(chǎng)數(shù)據(jù)中國(guó)化妝品檢測(cè)行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資方向研究報(bào)告
- 成人呼吸支持治療器械相關(guān)壓力性損傷的預(yù)防
- DHA乳狀液制備工藝優(yōu)化及氧化穩(wěn)定性的研究
- 2023年江蘇省五年制專轉(zhuǎn)本英語統(tǒng)考真題(試卷+答案)
- 三星-SHS-P718-指紋鎖使用說明書
- 岳麓書社版高中歷史必修三3.13《挑戰(zhàn)教皇的權(quán)威》課件(共28張PPT)
- 2007年國(guó)家公務(wù)員考試《申論》真題及參考答案
- GC/T 1201-2022國(guó)家物資儲(chǔ)備通用術(shù)語
- 污水管網(wǎng)監(jiān)理規(guī)劃
- GB/T 6730.65-2009鐵礦石全鐵含量的測(cè)定三氯化鈦還原重鉻酸鉀滴定法(常規(guī)方法)
- GB/T 35273-2020信息安全技術(shù)個(gè)人信息安全規(guī)范
- 《看圖猜成語》課件
評(píng)論
0/150
提交評(píng)論