查找并验证二维矩阵给定源节点的直接邻居?
Find and validate immediate neighbors of the given source node of a 2D matrix?
我正在为寻路可视化器开发一个 Javascript 项目,在该项目中我很难找到和验证 2D 矩阵中源节点的直接邻居。
问题陈述:给定一个排序的 4X3 二维矩阵,假设数组=[{1,2,3,4},{5,6,7,8}, {9,10,11,12}]
其中我们必须找到给定数字的直接邻居(左、右、上、下)。 left 或 right 很容易计算出来,只需要加或减 1,加或减 4 为 bottom[=32] =] 或 up, 但对于最末端的元素。
- 我们如何验证返回的号码是否是邻居?*
示例:邻居(5) = [ 1,6,9 ] (4 不是邻居)
还有
邻居(7) = [ 3,6,8,11]
left = source -1 ;
right = source +1 ;
top = source - 4 ;
bottom = source +4;
要生成有效的邻居列表,您必须检查过境
col = (source - 1) % width
if (col > 0)
left = source - 1
if (col < width - 1)
right = source + 1
line = (source - 1) / width
if (line > 0)
top = source - width
if (line < height - 1)
bottom = source + width
我正在为寻路可视化器开发一个 Javascript 项目,在该项目中我很难找到和验证 2D 矩阵中源节点的直接邻居。
问题陈述:给定一个排序的 4X3 二维矩阵,假设数组=[{1,2,3,4},{5,6,7,8}, {9,10,11,12}] 其中我们必须找到给定数字的直接邻居(左、右、上、下)。 left 或 right 很容易计算出来,只需要加或减 1,加或减 4 为 bottom[=32] =] 或 up, 但对于最末端的元素。
- 我们如何验证返回的号码是否是邻居?*
示例:邻居(5) = [ 1,6,9 ] (4 不是邻居)
还有 邻居(7) = [ 3,6,8,11]
left = source -1 ;
right = source +1 ;
top = source - 4 ;
bottom = source +4;
要生成有效的邻居列表,您必须检查过境
col = (source - 1) % width
if (col > 0)
left = source - 1
if (col < width - 1)
right = source + 1
line = (source - 1) / width
if (line > 0)
top = source - width
if (line < height - 1)
bottom = source + width