#encoding:UTF-8
r"""
knapsack problem
insertion sort
quick sort
"""
goods = [
# (5, 10)
(4, 9)
,(3, 6)
,(5, 1)
,(2, 4)
,(5, 1)
# ,(4, 9)
# ,(4, 20)
# ,(3, 6)
# ,(4, 20)
# ,(2, 4)
# ,(5, 10)
# (2, 6)
# ,(2, 3)
# ,(6, 5)
# ,(5, 4)
# ,(4, 6)
]
# 19
# goods = [
# (4, 20)
# ,(3, 6)
# ,(4, 20)
# ,(2, 4)
# ]
# 40
# goods = [
# (2, 6)
# ,(2, 3)
# ,(6, 5)
# ,(5, 4)
# ,(4, 6)
# ]
# 15
# [(weight, value)]
def knapsack(capacity = 10):
r"""
.. [1] http://www.hawstein.com/posts/dp-knapsack.html
"""
# bag = []
# d = {i:[] for i in range(len(goods))}
# in weight i of bag, total max value is d[i]
d = [0 for _ in range(capacity)]
for w,v in goods:
for i in range(capacity-1, 0, -1):
# d[i] = d[i-1]
if i >= w:
d[i] = max([d[i], d[i-w] + v])
# else:
背包问题 插入排序 快排 TSP问题(hamiltonian 回路) Python实现
最新推荐文章于 2021-03-20 09:31:49 发布
这篇博客介绍了如何使用Python解决经典的计算机科学问题,包括0-1背包问题、插入排序算法、快速排序算法,并探讨了旅行商问题(TSP,即汉密尔顿回路问题)的Python实现。博主分享了实验过程中的代码和思路,为读者提供了优化算法的参考。
摘要由CSDN通过智能技术生成