2013-10-27 66 views
1

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

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

是0(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 

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

+0

你能对你的意思是“探索”什么更清楚了吗?你想得到什么输出?你是否想要在给定点的特定Chebysev距离内的所有点的集合? –

+0

我编辑,使其更清楚:)谢谢 – Georgianaevil

回答

0

可以使用BFS算法。这只是一个带有队列的简单循环。 你的“边缘”上所处的位置(i, j)和8个邻居之间的链路:

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