Sky_Flex
Новичок
круги друзей
подскажите как организовывать круги друзей?!
т.е. у каждого пользователя есть определенные друзья на сайте (храняться в БД), у тех еще, а у тех в свою очередь еще и т.д....
как программно определить как связанны два различных человека, через какую цепочку "друзей" ?!?!
хотя все равно придеться перебирать наверно все возможные варианты, т.е. по каждому "другу" пока не наткнемся до искомого человека... но это наверно зверски рессурсоемко и долго....
а вот вариант например:
есть человек "А" и "Б", надо определить через кого знакомы.
сначала смотрим 1-й круг друзей "А", потом 1-й круг друзей "Б", ищем совпадения (т.е. может какой то друг одинаковый)... нет? тогда смотрим 2-й круг всех друзей "А", т.е. всех друзей друзей найденный в первом круге, так же смотрим 2-й круг друзей "Б", ищем совпадения... нет? тогда смотрим 3-й круг друзей у "А", 3-1 у "Б"...
Короче тоже ресурсоемко идолго - но лучше чемтупой перебор только со стороны "А" пока не найдем "Б"... хотя....
У КОГО КАКИЕ МЫСЛИ!?! делитесь!
подскажите как организовывать круги друзей?!
т.е. у каждого пользователя есть определенные друзья на сайте (храняться в БД), у тех еще, а у тех в свою очередь еще и т.д....
как программно определить как связанны два различных человека, через какую цепочку "друзей" ?!?!
хотя все равно придеться перебирать наверно все возможные варианты, т.е. по каждому "другу" пока не наткнемся до искомого человека... но это наверно зверски рессурсоемко и долго....
а вот вариант например:
есть человек "А" и "Б", надо определить через кого знакомы.
сначала смотрим 1-й круг друзей "А", потом 1-й круг друзей "Б", ищем совпадения (т.е. может какой то друг одинаковый)... нет? тогда смотрим 2-й круг всех друзей "А", т.е. всех друзей друзей найденный в первом круге, так же смотрим 2-й круг друзей "Б", ищем совпадения... нет? тогда смотрим 3-й круг друзей у "А", 3-1 у "Б"...
Короче тоже ресурсоемко идолго - но лучше чемтупой перебор только со стороны "А" пока не найдем "Б"... хотя....
У КОГО КАКИЕ МЫСЛИ!?! делитесь!