貪心算法設(shè)計(jì)與分析_第1頁(yè)
貪心算法設(shè)計(jì)與分析_第2頁(yè)
貪心算法設(shè)計(jì)與分析_第3頁(yè)
貪心算法設(shè)計(jì)與分析_第4頁(yè)
貪心算法設(shè)計(jì)與分析_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、南京信息工程大學(xué) 算法設(shè)計(jì)與分析 實(shí)驗(yàn)(實(shí)習(xí))報(bào)告實(shí)驗(yàn)(實(shí)習(xí))名稱 實(shí)驗(yàn)(實(shí)習(xí))日期 得分 指導(dǎo)老師 系 專業(yè) 班級(jí) 姓名 學(xué)號(hào) 一、 實(shí)驗(yàn)?zāi)康模耗軌蚴煜へ澬乃惴ê妥顑?yōu)裝載算法二、 實(shí)驗(yàn)內(nèi)容 貪心算法,背包問題package xd;import java.util.Arrays;import java.util.Scanner;public class XD public static void main(String args)Scanner in = new Scanner(System.in);System.out.println("Please enter the numbe

2、r of objects(請(qǐng)輸入物品的數(shù)量:)");int n = in.nextInt(); int w = new intn; int v = new intn; System.out.println("Now please enter the weight of the objects(現(xiàn)在請(qǐng)輸入這些物品的重量:)");for(int i=0;i<n;i+)wi = in.nextInt();System.out.println("Now please enter the value of the ojects(現(xiàn)在請(qǐng)輸入這些物品的價(jià)值:)&

3、quot;);for(int j=0;j<n;j+)vj = in.nextInt();System.out.println("Now please enter the capacity of the pack(請(qǐng)輸入背包的容積:)");int c = in.nextInt();double startTime = System.currentTimeMillis();int index = new intn;double r = new doublen; for(int k=0;k<n;k+)rk = vk/wk; indexk = k;double temp

4、 = 0;int x = 0;for(int i=0;i<n-1;i+)for(int j=i+1;j<n;j+)if(ri<rj)temp = ri;ri = rj;rj = temp;x = indexi;indexi = indexj;indexj = x;int w1 = new intn;int v1 = new intn;for(int i=0;i<n;i+)v1i = vindexi;w1i = windexi;int x1 = new intn; for (int i = 0; i < n; i+) x1i = 0; for(int i=0;i&l

5、t;n;i+)if(w1i<c)x1i = 1;c = c-w1i;System.out.println("The solution vector is(解向量是:)"+Arrays.toString(x1);int maxValue=0;for(int i=0;i<n;i+)if(x1i=1)maxValue = maxValue+v1i;System.out.println("Now,the max value of object in the pack is(背包可以容納的最大價(jià)值是:)"+maxValue);double endTim

6、e = System.currentTimeMillis();System.out.println("The Statements takes the time is(算法執(zhí)行所花費(fèi)的時(shí)間為:)"+(endTime-startTime)+ " milliseconds!");最優(yōu)裝載import javax.swing.*;import java.io.*;import java.util.*;public class MaxLoading public static void main(String args) String s1=JOptionPan

7、e.showInputDialog(null,"請(qǐng)輸入貨物數(shù)量:", "最優(yōu)裝載",JOptionPane.QUESTION_MESSAGE); n=Integer.parseInt(s1); w=new int n; System.out.println("請(qǐng)輸出貨物的重量數(shù)組:"); for(int i=0;i<n;i+)wi=(int)(100*Math.random();System.out.println(wi); String s2=JOptionPane.showInputDialog(null,"請(qǐng)輸入

8、第一艘輪船的載重量:", "最優(yōu)裝載",JOptionPane.QUESTION_MESSAGE); c=Integer.parseInt(s2); maxLoading(w,c,x); System.out.print("輸出當(dāng)前最優(yōu)解:"); for(int i=1;i<n+1;i+)System.out.print(xi+" "); System.out.println(); System.out.println("最優(yōu)解:"+bestw); static int n; static int

9、w; static int c; static int cw; static int bestw; static int r; static int x; static int bestx; public static int maxLoading(intww,int cc,intxx) n=ww.length-1; w=ww; c=cc; bestw=0; x=new int n+1; bestx=xx; for(int i=1;i<=n;i+) r+=wi; backtrack(1); return bestw; public static void backtrack(int i) if(i>n) if(cw>bestw) for(int j=1;j<

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論