01背包问题(回溯法)python实现
来源:互联网 发布:java apt 编辑:程序博客网 时间:2024/05/16 07:20
接上一篇,同样的01背包问题,上一篇采用动态规划的方法,现在用回溯法解决。回溯法采用深度优先策略搜索问题的解,不多说,代码如下:
bestV=0curW=0curV=0bestx=Nonedef backtrack(i):global bestV,curW,curV,x,bestxif i>=n:if bestV<curV:bestV=curVbestx=x[:]else:if curW+w[i]<=c:x[i]=TruecurW+=w[i]curV+=v[i]backtrack(i+1)curW-=w[i]curV-=v[i]x[i]=Falsebacktrack(i+1)if __name__=='__main__':n=5c=10w=[2,2,6,5,4]v=[6,3,5,4,6]x=[False for i in range(n)]backtrack(0)print(bestV)print(bestx)
运行结果如下:
转载请注明:转自http://blog.csdn.net/littlethunder/article/details/26621427
1 0
- 01背包问题(回溯法)python实现
- 01背包问题(回溯法实现,java)
- 回溯法实现01背包问题
- 01背包问题(回溯算法实现)
- 01背包问题(回溯算法实现)
- 回溯法 01背包问题
- 01背包问题_回溯法_java实现
- 回溯法之0-1背包问题(C实现)
- 背包问题回溯法的递归实现(java)
- 回溯-01背包问题
- 回溯法 背包问题
- 回溯法---->背包问题
- 01背包问题(用c语言实现)-回溯法求解
- 01背包(回溯法)
- 回溯法之01背包问题
- 01背包问题-----回溯法的解决方案
- 回溯法求解01背包问题
- 回溯法-经典 01背包问题
- 2014-05-22-计算机的数据表示
- Android 程序打包及签名
- javaEE mvc例子详解
- Dynamics CRM 2011 仪表盘(dashbord)中加入公告(announcement)模块
- 线程与进程的区别
- 01背包问题(回溯法)python实现
- 100个windows平台C++开发错误之容器
- JavaScript,复习总结
- poll_wait函数详解
- 日志分析系统
- 构造函数与析构函数
- 小感慨
- [BASIC-25] 回形取数
- 100个windows平台C++开发错误之编程