我想针对以下问题实现一个算法。它稍后需要在 T-SQL
中实现:
- 我有一组供应商 - 让我们说是商店。每个商店都有它提供的一组项目。有些商品在商店之间重叠,有些商品仅出现在一家商店中。
- 我有一个元素 list - 比方说一个包含我想要的一组元素的
购物
list 。
我现在必须找到提供 ALL
商品同时需要最少数量商店的商店组合。
我很确定这个问题经常得到解决,并且该算法有自己的名称,但我无法通过搜索找到它。
最佳答案
抱歉,我想我第一次误解了这个问题。你的问题本质上是一个 Set Cover Problem这是NP-Complete。有启发式方法,但没有最佳解决方案。
(这很相似,但不完全是您的问题,尽管值得一看)Knapsack Problem
关于sql-server - 算法找到满足给定要求的最少数量的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16990725/