您好、欢迎来到现金彩票网!
当前位置:众彩 > 分支限界 >

0-1背包问题的回溯法中剪枝用的上界函数问题

发布时间:2019-05-08 19:35 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  1、当去了i后体积超过背包容量,那么剪去该子树,体积都超了价值再大也没用。

  2、当前价值+i子树中所有物品的价值=记录的最优值,应该就是你说的把。

  按单位价值贪心虽然不知道你具体指什么,我的理解是i的单位价值很低就剪了,这应该是不对的,万一i后面有个单位价值很高的怎么办。

  另外,01背包哪有人会用回溯法啊,这是多么没有效率的算法啊,虽然有剪枝,但时间复杂度还是指数级的啊,你想想如果有10件物品的线件的话,我。。。。。。!!追答

  //这边其实就是在取子树中物品的价值,只不过他是进行了按单位价值排序后来取,楼主仔细想想i子树是一个二叉树把,每件物品都有取和不取把,这边都取,只不过取的方式不一样,他按排序过的来取是吧

  v+=(goods[i].vw*c);//单位价值*背包剩余容量,这边我都不想吐槽了,他竟然在分割物品,这就不叫01背包了,01背包一件物品只能取或不取,不能切割。}

  我很负责任的告诉你,这边的代码是很有问题的,整个算法思想是很混乱的。首先先撇开我上面说的回溯糟糕的时间复杂度不谈,这边他就没有搞清楚他的物品到底能不能切割。

http://jigsawesl.com/fenzhixianjie/159.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有