Python基于回溯法解决01背包问题实例


Posted in Python onDecember 06, 2017

本文实例讲述了Python基于回溯法解决01背包问题。分享给大家供大家参考,具体如下:

同样的01背包问题,前面采用动态规划的方法,现在用回溯法解决。回溯法采用深度优先策略搜索问题的解,不多说,代码如下:

bestV=0
curW=0
curV=0
bestx=None
def backtrack(i):
  global bestV,curW,curV,x,bestx
  if i>=n:
    if bestV<curV:
      bestV=curV
      bestx=x[:]
  else:
    if curW+w[i]<=c:
      x[i]=True
      curW+=w[i]
      curV+=v[i]
      backtrack(i+1)
      curW-=w[i]
      curV-=v[i]
    x[i]=False
    backtrack(i+1)
if __name__=='__main__':
  n=5
  c=10
  w=[2,2,6,5,4]
  v=[6,3,5,4,6]
  x=[False for i in range(n)]
  backtrack(0)
  print(bestV)
  print(bestx)

运行结果如下:

Python基于回溯法解决01背包问题实例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
wxpython 学习笔记 第一天
Feb 09 Python
python装饰器使用方法实例
Nov 21 Python
总结python爬虫抓站的实用技巧
Aug 09 Python
python僵尸进程产生的原因
Jul 21 Python
详解python eval函数的妙用
Nov 16 Python
Python进度条实时显示处理进度的示例代码
Jan 30 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 Python
python中plot实现即时数据动态显示方法
Jun 22 Python
对python中for、if、while的区别与比较方法
Jun 25 Python
Django外键(ForeignKey)操作以及related_name的作用详解
Jul 29 Python
Pandas 解决dataframe的一列进行向下顺移问题
Dec 27 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 Python
Python基于动态规划算法解决01背包问题实例
Dec 06 #Python
Python机器学习之决策树算法实例详解
Dec 06 #Python
快速入门python学习笔记
Dec 06 #Python
Python中django学习心得
Dec 06 #Python
Python标准库inspect的具体使用方法
Dec 06 #Python
读取本地json文件,解析json(实例讲解)
Dec 06 #Python
Python语言描述最大连续子序列和
Dec 05 #Python
You might like
thinkphp5.0整合phpsocketio完整攻略(绕坑)
2018/10/12 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
JavaScript入门教程(7) History历史对象
2009/01/31 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
判断JS对象是否拥有某属性的方法推荐
2016/05/12 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
nodejs+websocket实时聊天系统改进版
2017/05/18 NodeJs
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
vue实现仿淘宝结账页面实例代码
2017/11/08 Javascript
原生JS实现的碰撞检测功能示例
2018/05/18 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
Python打印scrapy蜘蛛抓取树结构的方法
2015/04/08 Python
Python迭代和迭代器详解
2016/11/10 Python
python模块之re正则表达式详解
2017/02/03 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
基于python中theano库的线性回归
2018/08/31 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
Python常用的json标准库
2019/02/19 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
详解python 中in 的 用法
2019/12/12 Python
Tensorflow中的dropout的使用方法
2020/03/13 Python
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
高职助产应届生自荐信
2013/09/24 职场文书
十一酒店活动方案
2014/02/20 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
大学生安全责任书
2014/07/25 职场文书
加强作风建设工作总结
2014/10/23 职场文书
配置Kubernetes外网访问集群
2022/03/31 Servers
nginx日志格式分析和修改
2022/04/28 Servers