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的汉字转GBK码实现代码
Feb 19 Python
urllib2自定义opener详解
Feb 07 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
Jul 02 Python
Python全局变量用法实例分析
Jul 19 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
Sep 11 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
Python多进程原理与用法分析
Aug 21 Python
python对象与json相互转换的方法
May 07 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
Jul 20 Python
利用python汇总统计多张Excel
Sep 22 Python
python爬虫--selenium模块
Mar 31 Python
Python Pandas读取Excel日期数据的异常处理方法
Feb 28 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读取excel文件的简单实例
2013/08/26 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
2017/10/22 PHP
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
jquery滚动条插件jScrollPane的使用介绍
2013/11/08 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
javascript使用输出语句实现网页特效代码
2015/08/06 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
2015/12/08 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
2017/04/12 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
基于vue、react实现倒计时效果
2019/08/26 Javascript
详解JSON.stringify()的5个秘密特性
2020/05/26 Javascript
python求斐波那契数列示例分享
2014/02/14 Python
Python标准库之sqlite3使用实例
2014/11/25 Python
python分析apache访问日志脚本分享
2015/02/26 Python
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
python实现控制台打印的方法
2019/01/12 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
2020/09/03 Python
Html5 localStorage入门教程
2018/04/26 HTML / CSS
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
大学应届生求职简历的自我评价
2013/10/08 职场文书
管理工程专业求职信
2014/08/10 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
先进个人总结范文
2015/02/15 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
爱心捐助活动总结
2015/05/09 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
python中的None与NULL用法说明
2021/05/25 Python
nginx刷新页面出现404解决方案(亲测有效)
2022/03/18 Servers