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的dict字典结构操作方法学习笔记
May 07 Python
详解Python中的from..import绝对导入语句
Jun 21 Python
python3.4爬虫demo
Jan 22 Python
用python一行代码得到数组中某个元素的个数方法
Jan 28 Python
如何利用pygame实现简单的五子棋游戏
Dec 29 Python
Tensorflow累加的实现案例
Feb 05 Python
python时间与Unix时间戳相互转换方法详解
Feb 13 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
Mar 17 Python
基于Python爬取fofa网页端数据过程解析
Jul 13 Python
python3实现飞机大战
Nov 29 Python
python 爬取腾讯视频评论的实现步骤
Feb 18 Python
如何基于python实现单目三维重建详解
Jun 25 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 存取 MySQL 数据库的一个例子
2006/10/09 PHP
如何使用PHP往windows中添加用户
2006/12/06 PHP
php中simplexml_load_string使用实例分享
2014/02/13 PHP
PHP中配置IIS7实现基本身份验证的方法
2015/09/24 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
JS不完全国际化&amp;本地化手册 之 理论篇
2016/09/27 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
Angular.js中数组操作的方法教程
2017/07/31 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
Node如何后台数据库使用增删改查功能
2019/11/21 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
使用C++扩展Python的功能详解
2018/01/12 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
安装python及pycharm的教程图解
2019/10/10 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
python实现UDP协议下的文件传输
2020/03/20 Python
Python利用PyPDF2库获取PDF文件总页码实例
2020/04/03 Python
python轮询机制控制led实例
2020/05/03 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
HTML中使用SVG与SVG预定义形状元素介绍
2013/06/28 HTML / CSS
美国韩国化妆品和护肤品购物网站:Beautytap
2018/07/29 全球购物
个人授权委托书
2014/04/03 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
工地宣传标语
2014/06/18 职场文书
演讲稿的格式及范文
2014/08/22 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
python接口测试返回数据为字典取值方式
2022/02/12 Python
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏
浅析Python OpenCV三种滤镜效果
2022/04/11 Python