python 回溯法 01背包问题_Python基于回溯法解决01背包问题实例
本文实例讲述了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背包问题实例相关推荐
- python回溯方法的模板_Python基于回溯法子集树模板解决0-1背包问题实例
本文实例讲述了Python基于回溯法子集树模板解决0-1背包问题.分享给大家供大家参考,具体如下: 问题 给定N个物品和一个背包.物品i的重量是Wi,其价值位Vi ,背包的容量为C.问应该如何选择装入 ...
- python棋盘放米问题_Python基于回溯法子集树模板解决马踏棋盘问题示例
本文实例讲述了Python基于回溯法子集树模板解决马踏棋盘问题.分享给大家供大家参考,具体如下: 问题 将马放到国际象棋的8*8棋盘board上的某个方格中,马按走棋规则进行移动,走遍棋盘上的64个方 ...
- 【背包问题】基于matlab禁忌搜索算法求解背包问题【含Matlab源码 373期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[背包问题]基于matlab禁忌搜索算法求解背包问题[含Matlab源码 373期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭支付 ...
- python全排列问题_Python基于回溯法子集树模板解决全排列问题示例
本文实例讲述了Python基于回溯法子集树模板解决全排列问题.分享给大家供大家参考,具体如下: 问题 实现 'a', 'b', 'c', 'd' 四个元素的全排列. 分析 这个问题可以直接套用排列树模 ...
- python找零钱问题_Python基于回溯法子集树模板解决找零问题示例
本文实例讲述了Python基于回溯法子集树模板解决找零问题.分享给大家供大家参考,具体如下: 问题 有面额10元.5元.2元.1元的硬币,数量分别为3个.5个.7个.12个.现在需要给顾客找零16元, ...
- python输入一个四位整数_Python 四位一并法
0x00 题目 请写一个 Python 程序实现实数的「三位一并法」与「四位一并法」.输入一个八进制小数,利用三位一并法将其转换为二进制实数,并输出,再利用四位一并法将上一步得到的二进制实数转换为十六 ...
- java光流法运动目标检测_基于光流法运动目标检测和跟踪算法.PDF
第,+ 卷第' 期 东 北 大 学 学 报 ( 自 然 科 学 版 ) 5# (! ,+ ,*#! ' ! " #' 年 ' 月 "#$%&'( #) *#%+,-'.+- ...
- 0-1背包问题 动态规划java_C#使用动态规划解决0-1背包问题实例分析
// 利用动态规划解决0-1背包问题 using System; using System.Collections.Generic; using System.Linq; using System.T ...
- python弹球小游戏程序_Python基于Tkinter模块实现的弹球小游戏
本文实例讲述了Python基于Tkinter模块实现的弹球小游戏.分享给大家供大家参考,具体如下: #!usr/bin/python #-*- coding:utf-8 -*- from Tkinte ...
- python分类算法的应用_Python基于sklearn库的分类算法简单应用示例
Python基于sklearn库的分类算法简单应用示例 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: Python基于sklearn库的分类算法简单应用示例.tx ...
最新文章
- 一个完备的嵌入式系统硬件架构有哪几部分构成?
- 华为平板能运行python吗_我是如何使用华为平板的
- android textView 替文字添加下划线 删除线
- 火狐标签在中间_在Firefox中保留未使用的标签
- MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established
- python 访问sas 逻辑库,SAS | 逻辑库和SAS数据集
- 云数据库RDS基础版的优势及适用场景
- php函数fiter,PHP filter_var() 函数和 Filter 函数使用说明
- 学会这个绝招,让 C++ 崩溃无处可逃!
- c语言井字棋二维数组,【C语言】简单实现三子棋(井字棋)小游戏
- postSql insert into 去重
- Bean复制的几种框架性能比较(Apache BeanUtils、PropertyUtils、Spring BeanUtils、Cglib BeanCopier)
- 案例分享 | 可编程机器人Scratch二次开发案例
- android mp4 画面裁剪,说说Android的视频裁剪(三)
- java到达时间后自动执行代码_java设置按时间自动执行
- 西安电子科技大学计算机网络技术,计算机网络技术与应用课后题答案(西安电子科技大学).doc...
- 【Linux命令篇】文档笔记
- 84个SEO面试问题
- 网站url后带spm参数的作用
- Sovit3D数字孪生智慧海上风电场3D可视化管理平台