1

我有一个朋友排行榜。然后,我得到更多相同朋友但排名不同的列表。是否有算法来检查哪个列表最接近原始排名?

谢谢

4

2 回答 2

2

这可能取决于您对两个排名之间“距离”的衡量标准。

例如,如果我们定义

dist(R1, R2) = Sum abs(position of i in R1 - position of i in R2), over all i

然后您可以将每个i排名中的第一个位置存储在一个数组中

IE

pos[Peter] = 3

表示Peter在您的排名中显示为第三个朋友。

通过使用 计算上面的总和,可以在线性时间内找到最接近的排名pos

于 2013-03-21T14:53:08.593 回答
2

我认为您应该比较它们之间的等级距离,但使用权重。因为例如排名第1的用户在第10位,这是一个很大的差异,但是如果排名第101位的用户在第110位,则变化不大。因此,您应该对排名较高的用户的差异设置更高的系数。

于 2013-03-21T15:55:08.907 回答