回溯法:最优装载问题
来源:互联网 发布:js的event对象 编辑:程序博客网 时间:2024/05/22 12:00
回溯法对解空间进行深度优先搜索,在一般情况下可用递归方法实现回溯法。
空间树理解:
假设装载的集装箱n=3,则空间树可以表示为上图,就是1表示装入该集装箱,0表示不装入该集装箱,最优装载问题就是在这些空间树里,寻找最优子结构。我想看到此处应该不难理解。
具体测试代码:
public class bestLoading { static int n;//集装箱数量 static int []w;//箱子重量数组 static int c;//第一艘船的载重 static int cw;//当前的载重量 static int bestw;//最优载重 static int r;//剩余集装箱的重量 public static int maxLoading(int []ww,int cc){ n=ww.length-1; w=ww; c=cc; cw=0; bestw=0; r=0; for(int i=1;i<=n;i++){ r+=w[i]; } backtrack(0); return bestw; } private static void backtrack(int i){ if(i>n){ if(cw>bestw) bestw=cw; return; } r-=w[i]; if(cw+w[i]<=c){ cw+=w[i]; backtrack(i+1); cw-=w[i]; } if(cw+r>bestw) backtrack(i+1); r+=w[i]; } public static void main(String []args){ int []ww={1,7,4,20,9,11}; int c=26; System.out.println(maxLoading(ww,c)); }}
0 0
- 回溯法:最优装载问题
- 回溯法解最优装载问题
- 回溯法解最优装载问题
- 回溯法最优装载问题(java)
- 【回溯法解决最优装载问题】
- 最优装载问题 回溯算法
- Java语言描述:回溯法之最优装载问题
- 回溯算法之最优装载问题
- 回溯法 -- 装载问题
- 【回溯法】装载问题
- 回溯法-装载问题
- 装载问题--回溯法
- 回溯法,回溯法解装载问题
- 【回溯法】回溯法与装载问题
- 回溯法解装载问题
- c 装载问题 回溯法
- 回溯法解决装载问题
- 回溯法解决装载问题
- 手机WiFi和热点为何不能同时开
- 【LeetCode】77. Combinations,DFS的变形应用
- 36. Valid Sudoku
- DAO设计模式
- Scrapy设置之Using proxies and crawlers
- 回溯法:最优装载问题
- 复制链接地址
- 03 VoLTE - Initial LTE Attach
- leetcode笔记-层序遍历
- Tomcat作为Servlet容器的基本功能
- Eclisep简单安装问题
- 《第一行代码》第六章 文件存储项目Test
- Stanford ex7: K-means Clustering and Principal Component Analysis
- SDOI2016 Round 1游记