Как известно, связи между людьми хранятся в виде графа. С помощью обхода этого графа можно находить интересные закономерности. В этой заметке я расскажу, как работает упрощенный поиск людей, которых вам рекомендуют в качестве друзей.
Что нужно знать про формат описания графа в текстовом файле. Там записаны пары имен, которые описывают однонаправленную связь. К примеру: Ann Sarah. Эта строка означает, что Энн знает Сару, но это не значит, что Сара знает Энн. В этом смысле максимальное сходство с подписками (фолловингом) в твиттере.
Мой пример ищет людей (кандидатов), с которыми у вас максимальное количество общих друзей. При этом проверяется вы сами с этими кандидатами и кандидаты с вами еще не дружите.
Исходники примера тут: https://github.com/dk2k/java_experiments/tree/master/friends_graph
Как работает рекомендация друзей в социальных сетях

