最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

背包問題-動態(tài)規(guī)劃java實現(xiàn)的分析與代碼

 更新時間:2020年12月20日 09:14:53   作者:猿探索  
這篇文章主要給大家介紹了關(guān)于背包問題動態(tài)規(guī)劃java實現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、動態(tài)規(guī)劃的原理

動態(tài)規(guī)劃(dynamic programming)是運籌學(xué)的一個分支,是求解決策過程(decision process)最優(yōu)化的數(shù)學(xué)方法。20世紀(jì)50年代初美國數(shù)學(xué)家R.E.Bellman等人在研究多階段決策過程(multistep decision process)的優(yōu)化問題時,提出了著名的最優(yōu)化原理(principle of optimality),把多階段過程轉(zhuǎn)化為一系列單階段問題,利用各階段之間的關(guān)系,逐個求解,創(chuàng)立了解決這類過程優(yōu)化問題的新方法–動態(tài)規(guī)劃。1957年出版了他的名著《Dynamic Programming》,這是該領(lǐng)域的第一本著作。

動態(tài)規(guī)劃一般可分為線性動規(guī),區(qū)域動規(guī),樹形動規(guī),背包動規(guī)四類。舉例:線性動規(guī):攔截導(dǎo)彈,合唱隊形,挖地雷,建學(xué)校,劍客決斗等;區(qū)域動規(guī):石子合并, 加分二叉樹,統(tǒng)計單詞個數(shù),炮兵布陣等;樹形動規(guī):貪吃的九頭龍,二分查找樹,聚會的歡樂,數(shù)字三角形等;背包問題:01背包問題,完全背包問題,多重背包問題,分組背包問題,二維背包,裝箱問題,擠牛奶(同濟(jì)ACM第1132題)等;

二、分析與代碼實現(xiàn)

1、分析

題目:在某個深夜里,一個小偷背著一個總共只能裝16v體積的背包進(jìn)入一家商店偷東西。假如店里有手機一部,價格為2000元,體積為1v;薯片一包,價格為5元,體積為5v;翡翠一塊,價格為100000元,體積為10v;一套四大名著,價格30元,體積為6v;電腦一臺,價格為6000元,體積為10v。怎么樣能夠讓背包裝的下,并且又能使拿到的東西總價格最多?

這種情況下,一共5件東西。小偷偷東西的事件只有兩種:拿,不拿。
當(dāng)他拿的時候,背包體積變小,物件數(shù)量減1;當(dāng)他不拿的時候,背包體積不變,物件數(shù)量減1(因為小偷選擇不拿這件東西的時候不會返回繼續(xù)拿,所以他失去了這件東西選擇的機會)。

物件數(shù)量為i,背包容納量為v。

1.不拿 b(i-1,v)

2.拿 b(i-1,v-該物品的體積)

兩者取最大值

核心代碼:

b[i][j]=Math.max(b[i-1][j],b[i-1][j-v]+p);

2、代碼分析

public class _背包問題 {

 //物品體積
 private static int[] volume={1,5,10,6,10};
 //物品價格
 private static int[] price={2000,5,100000,30,6000};
 //背包容量
 private static int maxVolumen=16;
 //物品數(shù)量
 private static int count=5;

 public static int solution(int maxVolumen,int count,int[] volume,int[] price){
  int[][] b=new int[count+1][maxVolumen+1];
  for (int i=1;i<=count;i++){
   //拿到物品的價格
   int p=price[i-1]; 
   //拿到物品的體積
   int v=volume[i-1]; 
   for (int j=1;j<=maxVolumen;j++){
    //如果物品的體積大于背包容量時,選擇不拿。
    if (j<v){
     b[i][j]=b[i-1][j];
     continue;
    }
    b[i][j]=Math.max(b[i-1][j],b[i-1][j-v]+p);
   }
  }
  return b[count][maxVolumen];
 }

 public static void main(String[] args) {
  System.out.println(solution(16,5,volume,price));
 }
}

總結(jié)

到此這篇關(guān)于背包問題-動態(tài)規(guī)劃java實現(xiàn)的文章就介紹到這了,更多相關(guān)背包問題 動態(tài)規(guī)劃java實現(xiàn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JAVA+MySQL實現(xiàn)分庫分表的項目實踐

    JAVA+MySQL實現(xiàn)分庫分表的項目實踐

    本文主要介紹了JAVA+MySQL實現(xiàn)分庫分表的項目實踐,包括水平分表、垂直分表和水平分庫等策略,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • Spring注解驅(qū)動之BeanDefinitionRegistryPostProcessor原理解析

    Spring注解驅(qū)動之BeanDefinitionRegistryPostProcessor原理解析

    這篇文章主要介紹了Spring注解驅(qū)動之BeanDefinitionRegistryPostProcessor原理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Spring?BOOT?AOP基礎(chǔ)應(yīng)用教程

    Spring?BOOT?AOP基礎(chǔ)應(yīng)用教程

    這篇文章主要介紹了Spring?BOOT?AOP的使用,文章從相關(guān)問題展開全文內(nèi)容詳情,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • Java中如何獲取文件的上級目錄

    Java中如何獲取文件的上級目錄

    這篇文章主要介紹了Java中如何獲取文件的上級目錄問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 使用maven實現(xiàn)版本覆蓋的案例分享

    使用maven實現(xiàn)版本覆蓋的案例分享

    這篇文章主要介紹了使用maven實現(xiàn)版本覆蓋的案例分享,文中通過圖文結(jié)合的方式給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-10-10
  • PC 端微信掃碼注冊和登錄實例

    PC 端微信掃碼注冊和登錄實例

    這篇文章主要介紹了PC 端微信掃碼注冊和登錄實例的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • swing分割窗口控件JSplitPane使用方法詳解

    swing分割窗口控件JSplitPane使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了swing分割窗口控件JSplitPane的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • ssh框架實現(xiàn)文件上傳下載實例代碼

    ssh框架實現(xiàn)文件上傳下載實例代碼

    本篇文章主要介紹了ssh框架文件上傳下載實例代碼,實例分析了Spring+struts+Hibernate的使用技巧,非常具有實用價值,需要的朋友可以參考下。
    2017-03-03
  • 淺談JAVA中輸入輸出流實例詳解

    淺談JAVA中輸入輸出流實例詳解

    Java中的流分為兩種,一種是字節(jié)流,另一種是字符流。這篇文章主要介紹了JAVA中輸入輸出流的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • 詳解使用Spring3 實現(xiàn)用戶登錄以及權(quán)限認(rèn)證

    詳解使用Spring3 實現(xiàn)用戶登錄以及權(quán)限認(rèn)證

    這篇文章主要介紹了詳解使用Spring3 實現(xiàn)用戶登錄以及權(quán)限認(rèn)證,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。
    2017-03-03

最新評論

罗平县| 陵川县| 仲巴县| 西畴县| 鹰潭市| 天门市| 蒲城县| 灵石县| 紫阳县| 四平市| 河西区| 宁乡县| 秭归县| 宣城市| 天镇县| 岑巩县| 沂南县| 浮梁县| 玉环县| 中宁县| 杨浦区| 河池市| 玛纳斯县| 诸暨市| 紫金县| 墨竹工卡县| 德庆县| 鸡泽县| 长乐市| 奉化市| 遂宁市| 祁东县| 灌阳县| 名山县| 万盛区| 泸定县| 沐川县| 高唐县| 东至县| 尼勒克县| 体育|