Я пытаюсь создать маленького roguelike-а и зашел так далеко, что генерировал случайные комнаты и коридоры. Каждая комната является экземпляром объекта и содержит массив других комнат, соединенных коридором.
Я могу выделить комнаты, не связанные между собой, но как узнать, какие комнаты связаны только друг с другом, но не с большинством других, образуя остров?
Чтобы проиллюстрировать лучше, проблема здесь - изображение с консоли на заболоченном уровне. Номера 5 и 6 связаны только друг с другом. Какой алгоритм я могу использовать, чтобы обнаружить это?