Estou tentando criar um pequeno roguelike e foi tão longe quanto gerar aleatoriamente salas e corredores. Cada sala é um objeto instanciado e contém uma lista de matrizes das outras salas conectadas por um corredor.
Posso destacar salas não conectadas, mas como posso conhecer as salas que estão conectadas apenas umas às outras, mas não à maioria das outras, formando uma ilha?
Para ilustrar melhor o problema, aqui está uma imagem do console em um nível atolado. Os quartos 5 e 6 são conectados apenas um ao outro. Que algoritmo posso usar para detectar isso?