100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 30 | 图的表示:如何存储微博 微信等社交网络中的好友关系?

30 | 图的表示:如何存储微博 微信等社交网络中的好友关系?

时间:2020-08-22 10:10:55

相关推荐

30 | 图的表示:如何存储微博 微信等社交网络中的好友关系?

列出功能需求->翻译成逻辑算法->抽象出数据结构->确定物理存储结构 后面的不会脱离前面的独立存在,只存在于工作流的运用中,所以不能把它们独立地看

问题引入

在微博中,两个人可以互相关注;在微信中,两个人可以互加好友。如何存储微博、微信等这些社交网络的好友关系吗?

图的概念

图的存储方法

解答开篇

以微博为例子(数据结构是为算法服务的,所以具体选择哪种存储方法,与期望支持的操作有关系)。假设支持以下几种操作:

判断用户 A 是否关注了用户 B;判断用户 A 是否是用户 B 的粉丝;用户 A 关注用户 B;用户 A 取消关注用户 B;根据用户名称的首字母排序,分页获取用户的粉丝列表;根据用户名称的首字母排序,分页获取用户的关注列表。

因为社交网络是一张稀疏图,使用邻接矩阵存储比较浪费存储空间。所以采用邻接表来存储。但是仅仅用一个邻接表来存储是不够的。当我们去查询某个用户被哪些用户关注了,也即用户的粉丝列表,是非常困难的,因此再加上一个逆邻接表。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。