我想为 Boggle 板生成邻接矩阵。Boggle board 是一个在 nxn 矩阵中有字母的地方,如下所示: http ://www.wordtwist.org/sample.gif
每个小区都连接到其相邻小区;基本上我们向上/向下/向左/向右/对角线移动以连接到另一个单元格。
如果将每个单元格视为图中的一个顶点,那么我们可以找到 boggle board 的邻接矩阵。
我想出了以下公式来查找相邻的单元格:假设单元格的索引从 0 开始,并且从左到右编号。i = 单元格索引,n = 行数/列数。所以在 3x3 矩阵中,i=0 将是第一个单元格,n 是 3。
up = i-n
down = i+n
left = i-1
right = i+1
diagonal 1 = i-(n+1), i+(n+1)
diagonal 2 = i-(n-1), i+(n-1)
上述公式在角落单元格的情况下失败。如何排除极端情况下的无效单元格?