介绍
小编给大家分享一下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动态规划算法怎么用“有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!