I can't say if this is offtopic or not, but anyway...
In WitchavenRL I used a simple method for map generation that is basically to create random rooms, then create a door in each room and finally join each door with corridors using a pathfinding algorithm were walls are the walkable cells. This way I know every room is connected to each other because all doors are connected.
So, basically, using a pathfinding algorithn for each room against all other rooms could be a good method, and pretty fast IMO if you dont have thousand rooms.