Heim  >  Artikel  >  Backend-Entwicklung  >  如何算相互关注?

如何算相互关注?

WBOY
WBOYOriginal
2016-06-06 20:49:181460Durchsuche

如 微博的相互关注 提示 是如何高性能展示和换算出来的?

有具体的方法和思路么?

高性能前提

如图:

如何算相互关注?


问题更新

估计一开始我没有描述清楚问题。

现在我们的业务一开始就有漏洞和设计的不严谨。

现在我们的数据库中是没有相互关注的字段和数据库的。也就是只有 我关注的人 以及 关注我的人 , 所以现在需要搞性能的换算出我的相互关注的人来。

比如:A的关注:B/C/D/E/F/G...等若干个; A的粉丝数:E/F/H/I/G...等若干个;

现在如何求得A的相互关注的数量以及具体的人。 (要高性能)。

我知道一个死办法就是一个一个去对比和算。但是 这个性能很低。

回复内容:

如 微博的相互关注 提示 是如何高性能展示和换算出来的?

有具体的方法和思路么?

高性能前提

如图:

如何算相互关注?


问题更新

估计一开始我没有描述清楚问题。

现在我们的业务一开始就有漏洞和设计的不严谨。

现在我们的数据库中是没有相互关注的字段和数据库的。也就是只有 我关注的人 以及 关注我的人 , 所以现在需要搞性能的换算出我的相互关注的人来。

比如:A的关注:B/C/D/E/F/G...等若干个; A的粉丝数:E/F/H/I/G...等若干个;

现在如何求得A的相互关注的数量以及具体的人。 (要高性能)。

我知道一个死办法就是一个一个去对比和算。但是 这个性能很低。

这种信息只要在关注/取消关注的时候更新对应的状态,显示的时候直接if-else判断就好了,你一定不会以为是每次显示的时候才去查询是否互相关注的,对吧。

update: 如果你现在必须(真的必须吗)在只有这两组数据的情况下去计算的话,最优的算法就是哈希表了,应该不可能再高了。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn