最近有人問了一個關於採訪的有趣問題。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不,對不起。修正了 –