Поиск цепочек друзей

MSV

Новичок
Поиск цепочек друзей

Возникла такая задача
Есть таблица в БД и вней хранятся связи дружбы, типа "Коля дружит с Мишей", "Миша дружит с Колей", "Миша дружит с Васей" и т.п. причем связка "Миша - Коля" и "Коля - Миша" разные записи по смысловой нагрузке
Нужно построить всевозможные цепочки друзей типа "Коля - Миша - Коля", "Коля - Миша - Вася - Петя - Коля"

Подскажите примеры реализации

пока есть только идея связывать таблицу саму с собой столько раз, цепочки какой вложенности мы хотим найти.

Но хотелосьбы как-го лучшего алгоритма ...
 
Сверху