本文实例讲述了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

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程序设计有所帮助。

python 回溯法 01背包问题_Python基于回溯法解决01背包问题实例相关推荐

  1. python回溯方法的模板_Python基于回溯法子集树模板解决0-1背包问题实例

    本文实例讲述了Python基于回溯法子集树模板解决0-1背包问题.分享给大家供大家参考,具体如下: 问题 给定N个物品和一个背包.物品i的重量是Wi,其价值位Vi ,背包的容量为C.问应该如何选择装入 ...

  2. python棋盘放米问题_Python基于回溯法子集树模板解决马踏棋盘问题示例

    本文实例讲述了Python基于回溯法子集树模板解决马踏棋盘问题.分享给大家供大家参考,具体如下: 问题 将马放到国际象棋的8*8棋盘board上的某个方格中,马按走棋规则进行移动,走遍棋盘上的64个方 ...

  3. 【背包问题】基于matlab禁忌搜索算法求解背包问题【含Matlab源码 373期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[背包问题]基于matlab禁忌搜索算法求解背包问题[含Matlab源码 373期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭支付 ...

  4. python全排列问题_Python基于回溯法子集树模板解决全排列问题示例

    本文实例讲述了Python基于回溯法子集树模板解决全排列问题.分享给大家供大家参考,具体如下: 问题 实现 'a', 'b', 'c', 'd' 四个元素的全排列. 分析 这个问题可以直接套用排列树模 ...

  5. python找零钱问题_Python基于回溯法子集树模板解决找零问题示例

    本文实例讲述了Python基于回溯法子集树模板解决找零问题.分享给大家供大家参考,具体如下: 问题 有面额10元.5元.2元.1元的硬币,数量分别为3个.5个.7个.12个.现在需要给顾客找零16元, ...

  6. python输入一个四位整数_Python 四位一并法

    0x00 题目 请写一个 Python 程序实现实数的「三位一并法」与「四位一并法」.输入一个八进制小数,利用三位一并法将其转换为二进制实数,并输出,再利用四位一并法将上一步得到的二进制实数转换为十六 ...

  7. java光流法运动目标检测_基于光流法运动目标检测和跟踪算法.PDF

    第,+ 卷第' 期 东 北 大 学 学 报 ( 自 然 科 学 版 ) 5# (! ,+ ,*#! ' ! " #' 年 ' 月 "#$%&'( #) *#%+,-'.+- ...

  8. 0-1背包问题 动态规划java_C#使用动态规划解决0-1背包问题实例分析

    // 利用动态规划解决0-1背包问题 using System; using System.Collections.Generic; using System.Linq; using System.T ...

  9. python弹球小游戏程序_Python基于Tkinter模块实现的弹球小游戏

    本文实例讲述了Python基于Tkinter模块实现的弹球小游戏.分享给大家供大家参考,具体如下: #!usr/bin/python #-*- coding:utf-8 -*- from Tkinte ...

  10. python分类算法的应用_Python基于sklearn库的分类算法简单应用示例

    Python基于sklearn库的分类算法简单应用示例 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  Python基于sklearn库的分类算法简单应用示例.tx ...

最新文章

  1. 一个完备的嵌入式系统硬件架构有哪几部分构成?
  2. 华为平板能运行python吗_我是如何使用华为平板的
  3. android textView 替文字添加下划线 删除线
  4. 火狐标签在中间_在Firefox中保留未使用的标签
  5. MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established
  6. python 访问sas 逻辑库,SAS | 逻辑库和SAS数据集
  7. 云数据库RDS基础版的优势及适用场景
  8. php函数fiter,PHP filter_var() 函数和 Filter 函数使用说明
  9. 学会这个绝招,让 C++ 崩溃无处可逃!
  10. c语言井字棋二维数组,【C语言】简单实现三子棋(井字棋)小游戏
  11. postSql insert into 去重
  12. Bean复制的几种框架性能比较(Apache BeanUtils、PropertyUtils、Spring BeanUtils、Cglib BeanCopier)
  13. 案例分享 | 可编程机器人Scratch二次开发案例
  14. android mp4 画面裁剪,说说Android的视频裁剪(三)
  15. java到达时间后自动执行代码_java设置按时间自动执行
  16. 西安电子科技大学计算机网络技术,计算机网络技术与应用课后题答案(西安电子科技大学).doc...
  17. 【Linux命令篇】文档笔记
  18. 84个SEO面试问题
  19. 网站url后带spm参数的作用
  20. Sovit3D数字孪生智慧海上风电场3D可视化管理平台

热门文章

  1. 微服务的技术架构路线
  2. 安装clustalw-2.1
  3. 基于AD9854个和MSP430的波形发生器
  4. Vulkan 多线程渲染
  5. FAQ:sorry,too many clients already
  6. 高逼格的console.log(),要不来看下
  7. 深度学习网络基础——感受野
  8. 高光反差情况下出现紫边的成因分析
  9. 趣图 | EDG牛逼!!!
  10. 【数据分析实例】 2021年十万条厦门招聘数据分析