算法
Zooey1
这个作者很懒,什么都没留下…
展开
-
python实现:分别采用递归方法与动态规划算法实现“币值最大化问题”和“找零问题”。要求动态地调整两个问题的规模,记录程序运行时间。绘制曲线图比较在相同规模n情况下采用递归方式和动态规划实现的效率
动态规划算法实现币值最大化问题:传入列表list。创建一个描述最大币值的列表C。在列表C开头位置添加0。C第一个位置添加硬币第一个。从index=2开始到index=最后硬币的位置,循环。C列表每个index等于硬币列表list对应位置的值加上index-2位置(不连续的)的值和,与index-1(上一个位置)中的最大值。直到循环结束,C列表最后一个位置记录了,最大币值。 递归实现币值最...原创 2018-12-18 16:56:01 · 3795 阅读 · 0 评论 -
python实现:验证0-1背包问题的动态规划算法
要求自己设计使用合适的数据结构,用于存储计算过程中各个子问题对应的最优子集,以方便最后进行回溯,生成最终问题的最优子集组成元素。 def bag(n, c, w, v): # 保存状态 value = [[0 for j in range(c + 1)] for i in range(n + 1)] for i in range(1, n + 1): fo...原创 2018-12-18 16:55:32 · 1082 阅读 · 0 评论