python动态规划算法怎么用

  介绍

小编给大家分享一下python动态规划算法怎么用,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

python有哪些常用库

python常用的库:1. requesuts; 2. scrapy; 3.枕头;4.扭曲;5. numpy; 6. matplotlib; 7. pygama; 8. ipyhton等。

<强> 1,使用过程

获取相应信息(商品数量,背包容积,各商品体积和价值)

结构的最佳值矩阵。

初始化的最佳值矩阵(上方和左侧留有空白矩阵作为后续运算,但没有结果)

根据商品之间的最佳价值公式计算出相应的结果。

逆向推导矩阵得到某个商品,或者没有安装。

输出结果。

<强> 2,实例

<>之前打印(& # 39;请输入待装物品数量和背包体积(空格隔开):& # 39;)   时间=n, v 地图(int,输入().split()),, #,获取物品数量和背包体积   时间=goods [],, #,初始化商品列表   for 小姐:拷贝范围(n):   ,,,print (f # 39;请输入第{小姐:+,- 1}个物品的重量和价值(空格隔开):& # 39;)   ,,,goods.append(列表(map (int,输入().split()))),, #,获取商品信息   ,   #,计算最优值矩阵   dp =, [[0, for 小姐:拷贝范围(时间+ v  1)), for  j 拷贝范围(时间+ n  1)),, #,初始化最优值矩阵   for 小姐:拷贝范围(1,n  +, 1):   ,,,for  j 拷贝范围(1,v  +, 1):   ,,,,,,,dp[我][j],=, dp[小姐,安康;1][j],, #,默认不装,即和上一项最优值相等   ,,,,,,,if  j 祝辞=,商品[小姐,安康;1][0]:   ,,,,,,,,,,,#,如果背包剩余空间充足   ,,,,,,,,,,,dp[我][j],=, max (dp[我][j], dp[小姐,安康;1][j 安康;商品[小姐,安康;1][0]),+   ,,,,,,,,,,,,,,,,,,,,,,,,,,商品[小姐,安康;1][1]),,#,对比装与不装的价值并选择较大值   ,   “““   #,输出最优值矩阵   for 小姐:dp拷贝:   ,,,(i)打印   “““   ,   #,计算最优解   时间=x  [0, for 小姐:拷贝范围(时间+ n  1)),, #,初始化物品状态,0:不装,1:装   for 小姐:拷贝范围(n, 0, 1):   ,,,if  dp[我][v],==, dp[小姐,安康;1][v]:,, #,判断最优值是否发生变化,如果没有变化,则说明没有装   ,,,,,,,x[我],=,0,,#,不装   其他,,,,,,#,如果有变化,则说明装了,并减去对应重量   ,,,,,,,x[我],=,1,,#装   ,,,,,,,v  -=,商品[小姐,安康;1][0],,#,减去对应重量   ,,,x [n],=, 1, if  dp [n] [v], !=, 0, else  0,, #,判断最后一个物品装不装   ,   #,输出最优解   打印(& # 39;背包应装物品为:& # 39;)   for 小姐:拷贝范围(1,n  +, 1):   ,,,print (f # 39;编号:{str (i)} \ t重量:{商品[小姐,安康;1][0]}\ t价值:{商品[小姐,安康;1][1]}\ n # 39;, if  x[我],==,1,else  & # 39; & # 39;,,结束=& # 39;& # 39;)   #,输出最优值   印刷(& # 39;最大物品价值:& # 39;,,dp [1] [1])

看完了这篇文章,相信你对“python动态规划算法怎么用“有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

python动态规划算法怎么用