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 相关文章推荐
Python抓取Discuz!用户名脚本代码
Dec 30 Python
pycharm 使用心得(一)安装和首次使用
Jun 05 Python
python正常时间和unix时间戳相互转换的方法
Apr 23 Python
Python3.x版本中新的字符串格式化方法
Apr 24 Python
简单讲解Python中的字符串与字符串的输入输出
Mar 13 Python
Python3 操作符重载方法示例
Nov 23 Python
python版本五子棋的实现代码
Dec 11 Python
python创建与遍历List二维列表的方法
Aug 16 Python
pytorch自定义初始化权重的方法
Aug 17 Python
Python学习笔记之集合的概念和简单使用示例
Aug 22 Python
PyTorch-GPU加速实例
Jun 23 Python
python归并排序算法过程实例讲解
Nov 04 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
PHP中把数据库查询结果输出为json格式简单实例
2015/04/09 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
2015/10/27 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
杨氏矩阵查找的JS代码
2013/03/21 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
2015/02/28 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
vue自定义过滤器创建和使用方法详解
2017/11/06 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
vue中提示$index is not defined错误的解决方式
2020/09/02 Javascript
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
TensorFlow深度学习之卷积神经网络CNN
2018/03/09 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
python得到单词模式的示例
2018/10/15 Python
python实现名片管理系统
2018/11/29 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
英文翻译的自我评价语句
2013/10/04 职场文书
岗位职责的构建方法
2014/02/01 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
如何把新闻人物写得立体、鲜活?
2019/08/14 职场文书
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python
MySQL视图概念以及相关应用
2022/04/19 MySQL