BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #30004同步于 2009/10/16
CPP机器人发帖

有兴趣的进来看看,关于系统设计的一道题目。

camelBUPT
2009/10/16镜像同步0 回复
考虑一个在线好友系统。系统为每个用户维护一个好友列表,列表限制最多可以有500个好友,好友必须是这个系统中的其它用户。好友关系是单向的,用户B是用户A的好友,但A不一定是B的好友。 用户以ID形式表示,现给出好友列表数据的文本形式如下: 1 3,5,7,67,78,3332 2 567,890 31 1,66 14 567 78 10000 … 每行数据有两列,第一列为用户ID,第二列为其好友ID,不同ID间用”,”分隔,ID升序排列。列之间用”t”分隔。 要求: 请设计合适的索引数据结构,来完成以下查询: 给定用户A和B,查询A和B之间是否有这样的关系:B是A的二维好友(好友的好友)。 如上例中,10000为1的二维好友,因为78为1的好友,10000为78的好友。 详细说明自己的解题思路,说明自己实现的一些关键点。并给出实现的伪代码实现建立索引过程和查询过程,并说明空间和时间复杂度。 限制: 用户数量不超过1000万,平均50个好友。
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。