用于映射相邻房间的Java内置数据结构
我正在寻找一种Java内置数据结构,它最适合处理相邻房间。 我将网格/楼层划分为随机生成的房间,如下所示:用于映射相邻房间的Java内置数据结构,java,data-structures,Java,Data Structures,我正在寻找一种Java内置数据结构,它最适合处理相邻房间。 我将网格/楼层划分为随机生成的房间,如下所示: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + +
我正在寻找一种数据结构,在这种结构中,最快/最容易存储这个网格,并绘制出哪些房间与哪些房间相邻
有人有什么建议吗
谢谢您可以使用图形将房间表示为节点,将相邻关系表示为边 您可以用许多不同的方式表示图形。在这种情况下,由于关系是稀疏的,所以最好使用邻接列表而不是邻接矩阵 在Java中,图形可以用
Map
表示。基本上,这就是它所说的:它是一张从房间
到相邻房间
列表的地图
或者,如果您喜欢使用基本整数和数组,可以使用邻接矩阵表示法
布尔[][]adj
,其中adj[i][j]==true
当且仅当房间i
和房间j
是邻居。可以使用图形将房间表示为节点,将相邻关系表示为边
您可以用许多不同的方式表示图形。在这种情况下,由于关系是稀疏的,所以最好使用邻接列表而不是邻接矩阵
在Java中,图形可以用Map
表示。基本上,这就是它所说的:它是一张从房间
到相邻房间
列表的地图
或者,如果您喜欢使用基本整数和数组,您可以使用邻接矩阵表示法
布尔[]]adj
,其中adj[i][j]==true
当且仅当roomi
和roomj
是相邻的。您只需要存储:
您只需存储:
房间保证是长方形的吗?墙壁始终与x/y轴对齐?房间是否保证为矩形?墙是否始终与x/y轴对齐?