最近有人问了一个关于采访的有趣问题。N分离度访谈problm
- 你有1亿用户
- 每个用户有1个朋友千人
- 您的系统应有效地对每一对新人的用户
Do I know him?
问题答案。如果用户通过6级朋友连接,则用户“知道”另一个用户。
例如, A
是B
朋友,B
是C
朋友,C
是D
朋友,d是E
朋友,E
是F
的朋友。所以我们可以说,A
知道F
。
显然你不能有效地使用BFS或其他标准遍历技术来解决这个问题。问题是 - 如何将数据结构存储在数据库中以及如何快速执行此搜索。
我没有找出答案,也许有人有一个想法?
我*猜*'是'的概率约为99.99999%,所以也许你可以硬编码'返回是',但我会等待看到答案。 – alain
[挑战,如何实现六度分离算法?]的可能重复(https://stackoverflow.com/questions/2076715/challenge-how-to-implement-an-algorithm-for-six-degree-分离) – sascha
@RoryDaulton不,对不起。修正了 –