我有两个unordered_map
哈希表
一个是map1
unordered_map<user_id, set<doc_id> >
,其中包含大约300万个项目并存储用户已阅读的所有文档
一个是map2
unordered_map<user_id, map<user_id, relevant_score> >
,其中包含大约100万个项目,并存储用户的相关用户及其相关分数。
现在我想获得map3
unorderd_map<user_id, map<doc_id, relevant_score> >
。
对于doc_id
中的每个map3
,它是从map2
和map1
计算出来的。例如
map1
有101
=&gt; set{001, 002, 003}
102
=&gt; set{002, 003, 004}
map2
有100
=&gt; map{(101, 0.5), (102, 0.6)}
然后
map3
将为100
=&gt; map{(002, (0.5 + 0.6) / 2 = 0.55), (003, 0.55)}
因为
002
和003
已由多个用户阅读,因此会插入map3
。对于这种情况有什么好的算法或者写一个有效的算法吗?