我创建了以下用于存储用户朋友的数据模型 -
数据库 - MySQL
tbl_user [ user_id - pk ]
tbl_user_friend [ inviter_id - fk, friend_id - fk, status - 1/2/3 ]
status = 2 => friend , = 1 => invite ...
select friend_id from tbl_user_friend where inviter_id = <logged_in_id> and status = 2
UNION
select inviter_id from tbl_user_friend where friend_id = <logged_in_id> and status = 2
现在我需要将它们分类为搜索的第一,第二,第三度连接。
我可以提出一个选项 -
Convert above data into Graph and do BFS search.
Level of a node in BFS traversal will be its degree of connection.
你能否在这里提出一些算法/模型,而不是我已经说过的。
由于