




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、動態(tài)規(guī)劃解最長子序列課程設計目的掌握動態(tài)規(guī)劃法的原理,并能夠按其原理編程實現(xiàn)求兩個序列數(shù)據(jù)的最長公共子系列,以加深對其的理解。二、課程設計內(nèi)容1、用動態(tài)規(guī)劃法解決最長子序列問題2、交互輸入兩個序列數(shù)據(jù)3、輸出兩個序列的最長公共子序列三、概要設計四、詳細設計與實現(xiàn)#include"iostream.h"#include"iomanip.h"#definemax100voidLCSLength(intm,intn,char*x,char*y,char*b)inti,j,k;intcmaxmax;for(i=1;i<=m;i+)ci0=0;for(i=1
2、;i<=n;i+)c0i=0;for(i=1;i<=m;i+)for(j=1;j<=n;j+)if(xi-1=yj-1)cij=ci-1j-1+1;k=i*(n+1)+j;bk=''elseif(ci-1j>=cij-1),cij=ci-1j;k=i*(n+1)+j;bk='|';elsecij=cij-1;k=i*(n+1)+j;bk尸-'voidLCS(inti,intj,char*x,char*b,intwidth)if(i=0|j=0)return;intk=i*(width+1)+j;if(bk='')L
3、CS(i-1,j-1,x,b,width);cout<<xi<<endl;elseif(bk='|')LCS(i-1,j,x,b,width);elseLCS(i,j-1,x,b,width);voidmain()charxmax='a','b','c','b','d','a','b'charymax='b','d','c','a','b','a'i
4、ntm=7;intn=6;charbmax=0;LCSLength(m,n,x,y,b);LCS(m,n,x,b,n);cout<<endl<<endl;,.最長公共子序列問題具有最優(yōu)子結構性質(zhì)設X=x1,xmY=y1,yn及它們的最長子序列Z=z1,zk則1、若xm=yn,則zk=xm=yn,且Zk-1是Xm-1和Yn-1的最長公共子序列2、若xm!=yn,且zk!=xm,則Z是Xm-1和Y的最長公共子序列3、若xm!=yn,且zk!=yn,則Z是Yn-1和X的最長公共子序列由性質(zhì)導出子問題的遞歸結構當i=0,j=0時,cij=0當i,j>0;xi=yi時,ci
5、j=ci-1j-1+1當i,j>0;xi!=yi時,cij=maxcij-1,ci-1j,-同TT*F:DebugCppl.exe'請輸入物品種數(shù)n:?請輸入背包總容量c*s請輸入各物品的大,I1或重量u:2357141請輸入各物品苴價值小1B51576183恒算結果如下;012345678?1011121314150800000孫00&00g0001D010101010101010101010101010IB2D010101015151515151515151515153Q010101015152525253030303030304D010101015152525253
6、030303032325Q610161616212531313136363636366Q610161824283434343943494949S4?Q61016192428343?37394349525254選擇的物向量表示為:11101105背包最大價值為追4按丫或少繼續(xù)操作,否則按任意鍵#include<iostream.h>#definemax(a,b)a>b?a:b#defineM100voiddisplay(int&n,int&C,intwM,intvM)inti;cout<<"請輸入物品種數(shù)n:"cin>>
7、;n;cout<<endl;cout<<”請輸入背包總容量C:"cin>>C;cout<<endl;cout<<"請輸入各物品的大小或重量w:"<<endl;w0=0;for(i=1;i<=n;i+)cin>>wi;cout<<"請輸入各物品其價值v:"<<endl;v0=0;for(i=1;i<=n;i+)cin>>vi;;intknapsack(int&n,int&C,intwM,intvM,i
8、ntVMM)inti,j;for(i=0;i<=n;i+)for(j=0;j<=C;j+)if(i=0|j=0)Vi朋=0;elseif(wi>j)Vij=Vi-1j;elseif(wi<=j)Vij=max(Vi-1j,Vi-1j-wi+vi);returnVnC;;voidtraceback(intn,intC,intwM,intxM,intVMM)for(inti=1;i<=n;i+)if(ViC=Vi-1C)xi=0;elsexi=1;C=C-wi;/xn=(VnC>0)?1:0;voidmain()inti,j,n,C;charch;intwM,v
9、M,xM;intVMM;while(1)display(n,C,w,v);cout<<"運算結果如下:"«endl;for(i=1;i<=n;i+)xi=O;knapsack(n,C,w,v,V);cout«"for(j=0;j<=C;j+)cout«j«"cout«endl;for(i=0;i<=n;i+)(cout«i«"for(j=0;j<=C;j+)(cout«Vij«")cout«endl;cout«endl;cout<<"選擇的物向量表示為:"cout«"(traceback(n,C,w,x,V);for(i=1;i<=n;i+)cout«xi«"cout«")"«endl;cout«"背包最大價值為:&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 購買單間小屋合同協(xié)議
- 認購協(xié)議幾天內(nèi)簽訂合同
- 試用期保密協(xié)議合同
- 詹姆斯合同和三方協(xié)議
- 購買琉璃瓦合同協(xié)議
- 購房合同和房產(chǎn)交易協(xié)議
- 設備經(jīng)銷商合同協(xié)議
- 2025年跨文化交際與語言學理論考試試題及答案
- 2025年景觀設計師職業(yè)資格考試試題及答案
- 武漢舊機車交易合同協(xié)議
- 2024-2025春魯教版(五四學制)(2024)化學初中八年級全一冊第七單元 燃燒及其控制《第二節(jié)促進燃燒與防止爆炸》教學設計
- 新能源項目融資策略-全面剖析
- 2025年安徽國元農(nóng)業(yè)保險滁州中心支公司招聘筆試參考題庫含答案解析
- 安徽省 2025 年九年級中考歷史模擬試卷二(含答案)
- 杭州臨安通達裝飾材料有限公司年產(chǎn)15000噸高檔環(huán)保裝飾紙擴建項目報告表
- 客車安全培訓課件
- (高清版)DB52∕T 1450-2019 河道管理范圍劃界技術規(guī)程
- 《基于單片機的智能風扇設計》11000字(論文)
- 《kdigo專家共識:補體系統(tǒng)在腎臟疾病的作用》解讀
- 慢性阻塞性肺疾患
- 林業(yè)基礎知識考試題庫單選題100道及答案解析
評論
0/150
提交評論