使用切比雪夫距离探索矩阵

时间:2013-10-27 09:01:16

标签: c++ c

使用Chebysev距离从点(i,j)探索数组的最快方法是什么?

我的方法: 我目前正在定义2个一维数组,用于存储开始的方向然后用a计算,当半径>时,剩下的是什么。 1(半径是chebysev圆的“半径”我想探索数组)。我发现我正在探索一些元素两次。有算法显示什么是最好的方法?

0(i,j)与他自己之间的距离。我希望像这样探索矩阵(数字代表i,j和它们之间的距离)。当然i,j并不总是它的中间,它必须是我选择的任何一点。

2 2 2 2 2  
2 1 1 1 2  
2 1 0 1 2  
2 1 1 1 2  
2 2 2 2 2  

谢谢你,原谅我的英语:)

1 个答案:

答案 0 :(得分:0)

您可以使用BFS算法。它只是一个带队列的简单循环。 您的“边缘”是位置(i, j)与其8个邻居之间的链接:

(i-1,j)
(i-1,j-1)
...
(i+1,j+1)