日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蛮力法/01背包问题

發(fā)布時間:2023/12/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蛮力法/01背包问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 所有解:結(jié)合增量蠻力法 求解冪集的方法,先求出所有物品的組合
  • 可行解:遍歷所有的物品求物品和體積<=背包容量的物品組合
  • 最優(yōu)解:找出體積和最大的物品組合
package xcrj.kchalgorithm.bruteForce;import java.util.*;/*** 問題:* 有n個物品 重量分別為{w1,w2,…,wn},價值分別為{v1,v2,…,vn}* 背包能夠承受的重量為w* 選取一部分物品放入該背包* 每個物品要么選中要么不選中* 要求選中的物品不僅能夠放到背包中,而且具有最大的價值* <p>* 所有解:結(jié)合增量蠻力法 求解冪集的方法,先求出所有物品的組合* 可行解:遍歷所有的物品求物品和體積<=背包容量的物品組合* 最優(yōu)解:找出體積和最大的物品組合* <p>* 技巧:編號代替*/ public class Knapsack01 {static class Goods {private int weight;private int value;public Goods() {}public Goods(int weight, int value) {this.weight = weight;this.value = value;}public int getWeight() {return weight;}public void setWeight(int weight) {this.weight = weight;}public int getValue() {return value;}public void setValue(int value) {this.value = value;}}/*** 可行解** @param allResult 所有解* @param availableWeight 背包能承受的最大重量* @param weights 物品重量* @param values 物品價值*/public static Set<Set<Integer>> feasibleResults(Set<Set<Integer>> allResult, int availableWeight, int[] weights, int[] values) {Set<Set<Integer>> feasibleWeightResult = new HashSet<>(8);Set<Integer> optimalValueResult = null;int optimalValue = 0;for (Set<Integer> set : allResult) {int weightSum = 0;for (Integer code : set) {weightSum += weights[code - 1];}// 可以放進(jìn)背包的物品if (weightSum <= availableWeight) {Set<Integer> feasibleSet = new HashSet<>(4);for (Integer code : set) {feasibleSet.add(code);}feasibleWeightResult.add(feasibleSet);// 可以放進(jìn)背包的物品價值int sumValue = 0;for (Integer code : set) {sumValue += values[code - 1];}// 最大價值if (sumValue > optimalValue) {optimalValue = sumValue;optimalValueResult = new HashSet<>(4);for (Integer code : set) {optimalValueResult.add(code);}}}}System.out.println("所有可行解:");System.out.println(feasibleWeightResult);System.out.println("最優(yōu)解:");System.out.println(optimalValueResult);return feasibleWeightResult;}/*** 所有解** @param n 物品數(shù)量*/public static Set<Set<Integer>> allResults(int n) {Set<Set<Integer>> setSet = new HashSet<>(8);// {} 空集Set<Integer> setNull = new HashSet<>();setSet.add(setNull);for (int j = 0; j < n; j++) {Set<Set<Integer>> setSet2 = new HashSet<>(8);// 保存原來的集合for (Set<Integer> set : setSet) {Set<Integer> set2 = new HashSet<>();for (Integer v : set) {set2.add(v);}setSet2.add(set2);}// 給原集合中的每個冪集增加jfor (Set<Integer> set : setSet) {set.add(j + 1);}// 將set2中的冪集放到set中,組合成新的集合for (Set<Integer> set : setSet2) {setSet.add(set);}}return setSet;}public static void main(String[] args) {// 4個物品,能承受6公斤重量的背包// 數(shù)組下標(biāo)+1是物品的唯一編號int[] weights = {5, 3, 2, 1};int[] valuess = {4, 4, 3, 1};Set<Set<Integer>> allResult = allResults(4);feasibleResults(allResult, 6, weights, valuess);} }

總結(jié)

以上是生活随笔為你收集整理的蛮力法/01背包问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色精品免费 | 成人av专区| 亚洲爆乳无码一区二区三区 | 亚洲熟妇av一区二区三区 | 黑丝一区二区三区 | 亚洲成人第一区 | 日韩av手机在线播放 | 亚洲av综合色区无码另类小说 | 成人免费视 | 就去干成人网 | 中文字幕韩日 | 午夜精品极品粉嫩国产尤物 | 成人黄色短视频在线观看 | 牛牛视频在线观看 | 日韩成人一级 | 日本123区 | 欧美大片xxx| 久久视频在线免费观看 | 不卡中文字幕 | 日韩激情精品 | 久久久www成人免费毛片 | 美国一级大黄一片免费中文 | 精品无码人妻一区二区免费蜜桃 | 99色在线 | 国产美女免费视频 | 国产精品第13页 | 欧美精品99久久久 | 国产在线黄 | 无码专区久久综合久中文字幕 | 久久资源在线 | 亚洲一区在线视频 | 国产农村妇女精品一区二区 | 国产精品丝袜一区 | 99久久精| 亚洲欧美一区二区三区久久 | 粉嫩av一区二区三区 | 色久网| 黄色美女视频网站 | 人人爽人人爽人人 | 高潮毛片无遮挡 | 国产在线网 | 日韩av成人在线 | 麻豆出品 | 97久久人国产精品婷婷 | 午夜丁香网 | 黄色一级片国产 | 国产激情在线播放 | 国产一区午夜 | 美国av导航| 新天堂av| 玖玖爱在线观看 | 特黄级 | 精品在线小视频 | 嫩草伊人久久精品少妇av | 午夜精产品一区二区在线观看的 | 久久97人妻无码一区二区三区 | 四虎永久在线精品 | 韩国主播青草200vip视频 | 特级毛片av| 无码国产精品96久久久久 | 香蕉a | 中文字幕一区二区三区波野结 | 四虎永久网址 | 国产美女www爽爽爽 www.国产毛片 | 欧美韩日国产 | 国产三级网 | 久久亚洲AV无码专区成人国产 | 欧美一级片观看 | 日韩第一页在线观看 | 国产二区三区视频 | 69精品在线| 色人阁五月 | 欧美中文字幕在线视频 | 亚洲一区二区三区不卡视频 | 亚洲精品一区二区三区蜜桃久 | 视频在线观看一区 | 嫩模一区 | 久久中文字幕高清 | 神马久久久久久久久久 | 天天综合天天做天天综合 | 日韩视频精品 | 国产情侣一区二区三区 | 在线免费观看福利 | 日韩精选av | 伊人久色 | 黄色一级片在线免费观看 | 男女视频久久 | 91口爆一区二区三区在线 | 国产精选自拍 | 久久久久久国产精品三区 | 日韩二区 | 精品成人av| 奇米久久 | 人人艹人人爽 | 私密视频在线观看 | 操网站| 性一交一黄一片 | 91麻豆精品国产理伦片在线观看 | 欧美一级黄 |