版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、貪心方法:總是對當(dāng)前的問題作最好的選擇,也就是局部尋優(yōu)。最后得到整體最優(yōu)。應(yīng)用: 1 :該問題可以通過“局部尋優(yōu)”逐步過渡到“整體最優(yōu)”。貪心選擇性質(zhì)與“動態(tài)規(guī)劃”的主要差別。2:最優(yōu)子結(jié)構(gòu)性質(zhì):某個問題的整體最優(yōu)解包含了“子 ”問題的最優(yōu)解。代碼如下:#include <iostream.h> struct goodinfofloat p; /物品效益float w; / 物品重量float X; /物品該放的數(shù)量 int flag; / 物品編號 ;/物品信息結(jié)構(gòu)體void Insertionsort(goodinfo goods,int n) int j,i;for(j=2;
2、j<=n;j+) goods0=goodsj;i=j-1;while (goods0.p>goodsi.p) goodsi+1=goodsi;i-;goodsi+1=goods0;/ 按物品效益,重量比值做升序排列void bag(goodinfo goods,float M,int n) float cu;int i,j;for(i=1;i<=n;i+) goodsi.X=0;cu=M; /背包剩余容量 for(i=1;i<n;i+)if(goodsi.w>cu)/ 當(dāng)該物品重量大與剩余容量跳出 break;goodsi.X=1;cu=cu-goodsi.w;/
3、 確定背包新的剩余容量if(i<=n)goodsi.X=cu/goodsi.w;/ 該物品所要放的量/* 按物品編號做降序排列*/for(j=2;j<=n;j+)goods0=goodsj;i=j-1;while (goods0.flag<goodsi.flag)goodsi+1=goodsi;i-;goodsi+1=goods0;/cout<<" 最優(yōu)解為:"<<endl;for(i=1;i<=n;i+)cout<<" 第 "<<i<<" 件物品要放:&quo
4、t;cout<<goodsi.X<<endl;Insertionsort(goods,n);bag(goods,M,n);cout<<"press <1> to run agian"<<endl;cout<<"press <0> to exit"<<endl;cin>>j;#include<stdio.h>#include<stdlib.h>#define Max 100/* 定義棧結(jié)構(gòu)*/typedef struct li
5、st int dataMax; int top;Seqstack; /*定義一個用來存儲結(jié)果的鏈表*/typedef struct List Seqstack result; struct List * Next; Seqlist,*Pointer;void Inicial_List(Pointer p) p=(Pointer)malloc(sizeof(Seqlist);p->Next=NULL;Seqstack Push_Stack(int n,Seqstack s) s.top+;s.datas.top=n;return s;int Add_Stack(Seqstack s)Int
6、 total=0,i;if(s.top>=0) for(i=0;i<=s.top;i+)total+=s.datai;else total=0; return total;Seqstack Pop_Stack(Seqstack s)printf("%d",s.datas.top);if(s.top>=0)s.top-;return s;/*執(zhí)行回溯操作的函數(shù)*/*參數(shù)說明:n->數(shù)的總的個數(shù),a口用來存放數(shù)的數(shù)組 水查找的總體積 */Pointer Query_Result(int n,int b,int k) int i,j;Seqstack my
7、stack;Seqlist *newnode;Pointer r,p=NULL;Inicial_List(p);r=p; for(i=0;i<n;i+) mystack.top=-1;j=i;while(j<n)if(Add_Stack(mystack)+bj<k) mystack=Push_Stack(bj,mystack);j+; else if(Add_Stack(mystack)+bj=k) mystack=Push_Stack(bj,mystack);newnode=(Pointer)malloc(sizeof(Seqlist);newnode->result
8、=mystack;newnode->Next=NULL;r->Next=newnode;r=newnode;mystack=Pop_Stack(mystack);j+;else if(Add_Stack(mystack)+bj>k)j+;return p;void Print_List(Pointer p)int i,j=0;p=p->Next;printf("welcome the outern");if(p=NULL)printf("there no resultsn");while(p!=NULL)j+;printf(&qu
9、ot;the %d result is: ",j);for(i=0;i<=p->result.top;i+) printf(" %d",p->result.datai);p=p->Next;printf("n"); printf("n");void Sort_Array(int b,int n)int i,j,temp;for(i=0;i<n;i+) for(j=0;j<n-i;j+)if(bj<bj+1) temp=bj;bj=bj+1;bj+1=temp;void main()i
10、nt i,n,k,select,aMax;Pointer head;printf("*n"); printf("1 startn2 exitn");scanf("%d",&select);while(select=1)printf("please input the total productsn");scanf("%d",&n);printf("please input the volumn of n productsn"); for(i=0;i<n;
11、i+)printf("please input the %d integers",i+1);scanf("%d",&ai);printf("n");printf("please input the volunm to putn");scanf("%d",&k);Sort_Array(a,n);head=Query_Result(n,a,k);Print_List(head);printf("*n");printf("1 startn2 exitn&q
12、uot;); scanf("%d",&select);#include<stdio.h>#include<stdlib.h>#define Max 100/* 定義棧結(jié)構(gòu)*/typedef struct list int dataMax; int top;Seqstack;/* 定義一個用來存儲結(jié)果的鏈表*/typedef struct ListSeqstack result;struct List * Next;Seqlist,*Pointer;void Inicial_List(Pointer p)p=(Pointer)malloc(si
13、zeof(Seqlist);p->Next=NULL;Seqstack Push_Stack(int n,Seqstack s) s.top+;s.datas.top=n;return s;int Add_Stack(Seqstack s) int total=0,i;if(s.top>=0)for(i=0;i<=s.top;i+) total+=s.datai; elsetotal=0;return total;Seqstack Pop_Stack(Seqstack s)printf("%d",s.datas.top);if(s.top>=0)s.
14、top-; return s;/*執(zhí)行回溯操彳的函數(shù) */*參數(shù)說明:n->數(shù)的總的個數(shù),a口用來存放數(shù)的數(shù)組,k查找的總體積*/ Pointer Query_Result(int n,int b,int k)int i,j;Seqstack mystack;Seqlist *newnode;Pointer r,p=NULL;Inicial_List(p);r=p;for(i=0;i<n;i+)mystack.top=-1;j=i;while(j<n)if(Add_Stack(mystack)+bj<k)mystack=Push_Stack(bj,mystack);j+
15、;else if(Add_Stack(mystack)+bj=k)mystack=Push_Stack(bj,mystack);newnode=(Pointer)malloc(sizeof(Seqlist);newnode->result=mystack;newnode->Next=NULL;r->Next=newnode;r=newnode;mystack=Pop_Stack(mystack);j+;else if(Add_Stack(mystack)+bj>k)j+;return p;void Print_List(Pointer p)int i,j=0;p=p-&
16、gt;Next;printf("welcome the outern");if(p=NULL)printf("there no resultsn");while(p!=NULL)j+;printf("the %d result is: ",j); for(i=0;i<=p->result.top;i+) printf(" %d",p->result.datai);p=p->Next;printf("n");printf("n");void Sort_A
17、rray(int b,int n)int i,j,temp;for(i=0;i<n;i+) for(j=0;j<n-i;j+)if(bj<bj+1)temp=bj;bj=bj+1;bj+1=temp;void main()int i,n,k,select,aMax; Pointer head;printf("*n");printf("1 startn2 exitn"); scanf("%d",&select); while(select=1)printf("please input the total productsn");scanf("%d",&n);printf("please input the volumn of n productsn");for(i=0;i<n;i+) printf("please input the %d integers",i+1);scanf(&q
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年專用票清分機項目立項申請報告范稿
- 2024-2030年中國永磁吸盤產(chǎn)業(yè)未來發(fā)展趨勢及投資策略分析報告
- 2024年氮氧化鋁晶體(ALON)項目規(guī)劃申請報告范文
- 2024-2030年中國氨制冷設(shè)備行業(yè)發(fā)展現(xiàn)狀及投資需求分析報告
- 旅游景區(qū)突發(fā)事件應(yīng)急預(yù)案方案
- 醫(yī)療行業(yè)和諧勞動關(guān)系建設(shè)方案
- 大型活動副食品配送方案
- 冬季水利工程灌注樁施工方案
- 山東省泰安市2023-2024學(xué)年高二下學(xué)期7月期末物理試題(解析版)
- 山東省2024-2025學(xué)年高一上學(xué)期10月學(xué)情診斷聯(lián)考物理試題(解析版)
- 第30課 家居收納技巧 課件 2023-2024學(xué)年蘇教版初中勞動技術(shù)七年級上冊
- 2024中國一汽校園招聘1000+崗位高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- GB/T 19533-2024汽車用壓縮天然氣鋼瓶定期檢驗與評定
- 婦產(chǎn)科護士晉升述職報告
- 骨髓腔內(nèi)輸液(IOI)技術(shù)
- 建筑幕墻工程(鋁板、玻璃、石材)監(jiān)理實施細則(全面版)
- 小學(xué)數(shù)學(xué)與思政融合課教學(xué)設(shè)計
- 江西省南昌市民德學(xué)校2023-2024學(xué)年八年級上學(xué)期期中數(shù)學(xué)試題
- 國際金融(英文版)智慧樹知到期末考試答案2024年
- 2024年《藥物臨床試驗質(zhì)量管理規(guī)范》(GCP)網(wǎng)絡(luò)培訓(xùn)題庫
- 2023年度學(xué)校食堂每月食品安全調(diào)度會議紀(jì)要
評論
0/150
提交評論