



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、實驗五 應用貪心算法求解背包問題學院: 計算機科學與技術(shù) 專業(yè):計算機科學與技術(shù)學號: 班級: 姓名: 一、實驗內(nèi)容:背包問題指的是:有一個承重為W的背包和n個物品,它們各自的重量和價值分別是和(),假設,求這些物品中最有價值的一個子集。如果每次選擇某一個物品的時候,只能全部拿走,則這一問題稱為離散(0-1)背包問題;如果每次可以拿走某一物品的任意一部分,則這一問題稱為連續(xù)背包問題。二、算法思想:首先計算每種物品單位重量的價值Vi/Wi,然后,依貪心選擇策略,將盡可能多的單位重量價值最高的物品裝入背包。若將這種物品全部裝入背包后,背包內(nèi)的物品總重量未超過C,則選擇單位重量價值次高的物品并盡可能
2、多地裝入背包。依此策略一直地進行下去,直到背包裝滿為止。三、實驗過程:#include <iostream>using namespace std;struct goodinfofloat p; /物品效益 float w; /物品重量 float X; /物品該放的數(shù)量 int flag; /物品編號;/物品信息結(jié)構(gòu)體void Insertionsort(goodinfo goods,int n)/插入排序,按pi/wi價值收益進行排序,一般教材上按冒泡排序int j,i; for(j=2;j<=n;j+) goods0=goodsj; i=j-1; while (good
3、s0.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)/若不超過容量,盡量增加物品 goodsi.X=1; cu-=goodsi.w;/確定背包新的剩余容量else goodsi.X=0; for(j=2;j<=n;j+)
4、 /*按物品編號做降序排列*/ 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<<"件物品要放:" cout<<goodsi.X<<endl; void main() cout<<"|
5、-運用貪心法解背包問題-|"<<endl; int j,n; float M; goodinfo *goods;/定義一個指針 while(j) cout<<"請輸入物品的總數(shù)量:" cin>>n; goods=new struct goodinfo n+1;/ cout<<"請輸入背包的最大容量:" cin>>M; cout<<endl; int i; for(i=1;i<=n;i+) goodsi.flag=i; cout<<"請輸入第&qu
6、ot;<<i<<"件物品的重量:" cin>>goodsi.w; cout<<"請輸入第"<<i<<"件物品的效益:" cin>>goodsi.p;goodsi.p=goodsi.p/goodsi.w;/得出物品的效益,重量比 cout<<endl; Insertionsort(goods,n); bag(goods,M,n); cout<<"press <1> to run agian"<<endl; cout<<"press <0> to exit"<<endl; cin>>j;四、實驗結(jié)果:對于0-1背包問題,貪心選擇之所以不能得到最優(yōu)解是因為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CCBD 19-2022品牌餐廳評價規(guī)范
- T/CAQI 18-2016嬰幼兒室內(nèi)空氣質(zhì)量分級
- java模塊面試題及答案
- 高考聯(lián)考試題及答案
- 人類健康與長壽秘密課件
- T/CAEPI 49-2022污水處理廠低碳運行評價技術(shù)規(guī)范
- 人的健康課件
- 競選大隊委員演講稿
- 企業(yè)村鎮(zhèn)應急互助協(xié)議書
- 工廠員工水杯定制協(xié)議書
- 駐村第一書記工作總結(jié)模版
- 2025物理大一輪復習講義復習講義答案精析
- 2025年高考政治搶押秘籍(江蘇專用)時政熱點04哪吒2(學生版+解析)
- 第23課《“蛟龍”探?!氛n件統(tǒng)編版語文七年級下冊
- 人教版英語八下Unit8 Have you read Treasure Island yet Section A 3a-3c課件
- 工程師施工現(xiàn)場安全管理實務試題及答案
- 初中地理澳大利亞(第2課時)課件+-2024-2025學年地理人教版(2024)七年級下冊
- 2025年安全生產(chǎn)月主題宣貫課件
- 生物質(zhì)轉(zhuǎn)化技術(shù)原理考核試卷
- 調(diào)味品中微生物安全-全面剖析
- 審計報告模板
評論
0/150
提交評論