计算机算法设计与分析-复习18

计算机算法设计与分析-复习18(回溯法解决0-1背包问题)

步骤

  1. 按照单位收益排序(递减)
  2. 约束函数(左孩子有用,右孩子没用)
  3. 限界函数(左孩子没用,右孩子有用)
  4. cw代表当前重量
  5. L为最优解下界,初始为0,知道算到叶子节点再更新(谁大谁更新),
  6. 右儿子产生需要估计最优解上界(除了叶子节点)(前几个放进去(按照树的实际情况),当前不放,剩余按照贪心做(可以分割背包))(如果大于L,就生成)(小于L左右孩子均不生成)
  7. 当选择结点时,发现大于总重量,那么不生成,否则生成。
  8. 整个问题最优解,就是求完解之后的L

例题

img
img
img
img
img

致谢

    [1] 以上图片来自于中国科学院大学马丙鹏老师计算机算法设计与分析课程
posted @   夏目^_^  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示