Maison  >  Article  >  développement back-end  >  如何算相互关注?

如何算相互关注?

WBOY
WBOYoriginal
2016-06-06 20:49:181441parcourir

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

有具体的方法和思路么?

高性能前提

如图:

如何算相互关注?


问题更新

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

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

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

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn