我有许多订单,每个订单都包含购买的Item
物品。
1 : {Item1, Item2, Item3, Item4, Item5}
2 : {Item2, Item8, Item4, Item3, Item11, Item5}
3 : { ... }
我的目标是确定这些物品中的每一个被一起购买的频率以及能够在 O(1) 中获得结果的频率。
我的想法是基于子集项目迭代订单 - 增加特定数组的元素。这将使我有可能在 O(1) 中提取所需的值。
例如。Item3 和 Item4 被买了 2 次。
int frequency = myArray[getHash(Item3+Item4)]
print frequency;
Output : 2
问题:
开发一个int getHash(...)
函数,它将能够散列项目的子集。
注意:{Item1, Item2} = {Item2, Item1}
非常感谢!欢迎任何更好的想法的帮助!