从多个推荐列表中提取最佳推荐

时间:2011-05-21 14:48:24

标签: java algorithm list

我有四个建议列表,让我们说列表是A,B,C,D。 每个列表具有相同数量的项目,并表示为键值对。但我需要为列表A的元素提供比列表B更多的优先级(权重),依此类推。最终,我需要从最终推荐的四个列表中选择最佳项目集。

以下是一个用例:

List_A: {ITEM1,重量1} {ITEM2,重量1} {项目3,重量1} {ITEM4,重量1} {ITEM5,重量1}

List_B: {item8,重量2} {ITEM5,重量2} {item7,重量2} {ITEM2,重量2} {ITEM6,重量2}

List_C: {第11项,weight3} {item23,weight3} {item34,weight3} {item24,weight3} {ITEM5,weight3}

List_D: {item9,重80磅 {item7,重80磅 {项目3,重80磅 {项目2,重80磅 {ITEM5,重80磅

假设weight1 = 10,weight2 = 5,weight3 = 3,weight1 = 2

根据这些列表,最终列表应该将“item5”作为第一项,因为它存在于所有四个列表中。如何获得这四个列表的其他最佳建议?

感谢。

1 个答案:

答案 0 :(得分:0)

如果我理解你的话,这应该有点简单。在更高级别,您需要一个数据结构

Map<Item, Map<List, Integer>>,其中最后一个整数是number_of_occurrences。一旦你有了它,就可以直接将number_of_occurrences *权重相乘并将其与TreeMap中的生成值一起抛出(此处也可以使用优先级队列)

现在你可以拥有TreeMap的前n个列表。