Какой бы замечательный не был алгоритм, многое зависит от структуры данных...
Связи между группами очевидны - можно, например, организовать многоуровневый список.
Групп много. Связи между группами очевидны — можно, например, организовать многоуровневый список и дополнительно снабдить ссылками, если группа будет интересна нескольким направлениям, например, кукломания и для *детский сад* и для *Коллекционирование*
Тогда , возможно, их количество не росло бы так быстро)
Например:
1 Детский сад
1.1 Игрушки
1.1.1 Світ м'яких іграшок
1.1.2 Планета мишек
1.1.3 Кукломания
2. одежда и аксессуары
2.1 Мода: Ретро & Винтаж
2.3 Мужские аксессуары, одежда
2.4 Дару-джинс
2.5 Женская одежда и аксессуары
2.5.1 сумчатые
2.5.2 Кожгалантерея
3 Коллекционирование
3.1 Нумизматика и бонистика
3.2 Фалеристика
3.3 Филокартия (открытки)
и т.д.
Используйте поиск по группам, что бы найти те, которые вам могут быть интересны.
Что-то не очень ясно, как именно Вы представляете себе такой список. Не могли бы Вы пояснить на примере?