|
|
1
0
您需要使用混合方法。利用这样一个事实:用户朋友列表可能比关注者的数量短,反之亦然。有两种选择:
在这些策略的帮助下,我们设计了一个算法来检查这两个算法中哪一个性能更好。 保持一个活跃的计数,每个用户的朋友数量,以及一个帖子的追随者。当有人喜欢一个帖子时,如果他们的朋友比喜欢这个帖子的人少,那么检查每个朋友是否在关注者列表中会更快(在实现中使用一个自平衡的BST或哈希表)。如果追随者比用户的朋友少,那么反向的速度会更快。
如果有n个追随者,k个用户喜欢这个帖子,f个朋友,那么检查朋友--gt;追随者会给出运行时间
|
|
|
2
0
我想可以改进到
将朋友聚合在一起的另一个好处是,许多用户有共同的朋友,因此实际大小可能小于
|
|
|
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
b39b332d · 使用C++标准库实现高效间隔存储 2 年前 |
|
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 2 年前 |
|
|
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 2 年前 |