考虑一个在线好友系统。系统为每个用户维护一个好友列表,列表限制最多可以有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个好友。