g(2 ,空) = c21 =  5

g(3,空) = c31 =  6

g(4,空) = c41 =  8

由式g( i, S) = min{cij + g( j, S - {j}) } 得

g(2,{3} ) = c23  + g(3,空) = 15

g(2,{4} ) = 18

g(3,{2} ) = 18

g(3,{4} ) = 20

g(4,{2} ) = 13

g(4,{3} ) = 15

接着,计算在|  S| = 2 且i≠1,1|  S,i| S 情况下的g(  i,S) :

g(2,{3,4} ) =  min{c23 + g( 3,{4}), c24  + g(4,{3} )} = 25

g(3,{2,4} ) =  min{c32 + g( 2,{4}), c34  + g(4,{2} )} = 25

g(4,{2,3} ) =  min{c42 + g( 2,{3}), c43  + g(3,{2} )} = 23

最后,得

g(1,{2,3,4} ) =  min{c12 + g( 2,{3,4}), c13  + g(3,{2,4} ), c14 + g( 4,{2,3}) }= min{35,40,43} = 35

货郎问题java_动态规划----货郎担问题相关推荐

  1. 货郎问题java_货郎问题

    货郎问题(Traveling Salesman Problem,简称"TSP")也叫货郎担问题,中国邮路问题,旅行商问题等,是计算机算法理论历史上的经典问题.在过去几十年中,它成为 ...

  2. 动态规划备忘录方法Java_动态规划和备忘录法的区别

    动态规划算法的基本要素:1最优子结构性质当问题的最优解包含了其子问题的最优解时,称该问题具有最优子结构性质.2重叠子问题性质动态规划算法对每个问题只解一次,将其解保存在一个表格中,当再次需要解此问题时 ...

  3. 凑零钱动态规划java_动态规划巧解凑零钱问题 | 创作者训练营

    动态规划是运筹学中求最优解的常用手段,解决此类问题的难点在于准确归纳出状态转移方程 状态转移方程,最重要的是先找到状态,然后将「大问题」转换成「小问题」,将「全局问题」转换成「局部问题」.转换的过程用 ...

  4. 石子合并问题java_动态规划求石子合并问题

    1.问题描述 在一个圆形操场的四周摆放着n 堆石子.现要将石子有次序地合并成一堆.规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分.试设计一个算法,计算出将n堆石子合 ...

  5. 动态规划石子排序java_动态规划之石子归并

    题目:有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量 和w[i]+w[i+1].问安排怎样的合并顺序,能够使得总合并代价达到最小. 输 ...

  6. 找零程序Java_动态规划——硬币找零问题(java)

    如果要求一个问题的最优解(通常是最大值或者最小值),而且该问题能够分解成若干个子问题,并且小问题之间也存在重叠的子问题,则考虑采用动态规划. 使用动态规划特征:1.求一个问题的最优解2.大问题可以分解 ...

  7. 输出最长单调递增子序列java_动态规划实现最长单调递增子序列

    1. 实验环境 操作系统:Mac 64 运行内存:16GB 编程语言:Java 编译环境:Eclipse 2. 题目要求 设计一个Ο(nlgn)时间的算法,求一个 n 个数的序列的最长单调递增子序列. ...

  8. 饮料供货java_动态规划(3):饮料供货动态规划(3):饮料供货 | 学步园...

    题目 题目来自<编程之美>:在微软亚洲研究院上班,大家早上来的第一件事是干啥呢?查看邮件?No,是去水房拿饮料:酸奶,豆浆,绿茶.王老吉.咖啡.可口可乐--(当然,还是有很多同事把拿饮料当 ...

  9. 最优二叉搜索树java_动态规划-最优二叉搜索树

    算法思想:动态规划 实际问题:最优二叉搜索树 编写语言:Java 问题描述 二叉搜索树的定义: 满足以下任意两个条件的一个,就可称这棵树为二叉搜索树: 它是一棵空树 该树是一颗二叉树,非空,且满足下列 ...

最新文章

  1. 基于libmad库的MP3解码简析
  2. Missing space before value for key 'path'vue.js解决空格报错
  3. MATLAB_no.2:关于眼睛的_cutab=[cutab;a b];_cutab(:,2)-cutab(:,1):
  4. 互联网造车上半场即将收尾,下半场才是真考验
  5. Apache Libcloud 0.12.3 发布
  6. 这大概是一篇最简单最清晰的Java JVM执行流程
  7. java怎么设置不同事件_activiti 全局流程监听ActivitiEventListener,实现监听不同类型事件,不需要在acitivit中配置任务监听,非常方便...
  8. python cls_关于python中的self,ins , cls的解释
  9. 隐藏导航条HTML,jQuery实现的导航条切换可显示隐藏
  10. 10个实用的机器学习建议
  11. 好用的php空间,推荐国内三个优质的免费PHP空间
  12. Bootstrap3.0 栅格系统背后的精妙魔法(Bootstrap3.0的栅格布局系统实现原理) - willian12345...
  13. 2019.1.23 01迷宫
  14. 大数据之-Hadoop3.x_Yarn_FIFO调度器---大数据之hadoop3.x工作笔记0144
  15. es6.2.4-ansible部署
  16. js微信监听返回_Node.js入门
  17. O2O供应链系统架构设计
  18. java版-五子棋-个人-源码参考
  19. V---双相机定位贴合的原理和实现过程
  20. jQuery 引入和使用

热门文章

  1. [网络安全]诸神之眼--Nmap的使用
  2. Android逆向学习(二):游戏开发物语反编译
  3. 程序员干累了,当个培训讲师?我亲身试水,讲讲感受
  4. 浪潮服务器安装windows2008系统,浪潮NF5280M3安装Windows Server 2008 R2注意事项
  5. 小米air2se耳机只有一边有声音怎么办_小米耳机只有一边有声音,这问题怎么解决...
  6. NetSpectre:通过网络读取任意内存
  7. Java.lang.RuntimeException: Parcel: unable to marshal value
  8. 如何理解特征函数characteristic function
  9. 从用户个体的角度,谈微信群吱口令红包
  10. EXCEL中,不能调整行高。当把行高拉到409的时候就不能再拉高了,是什么原因?