曼哈顿距离最近的两个点

时间:2013-03-12 17:11:01

标签: algorithm

我想知道曼哈顿距离。这是非常具体的,(我不知道这是一个好词)简单。例如,当我们在此指标中给出一组 n 点时,很容易在线性时间内找到两个最远点之间的距离。但是,找到两个最近的点也很容易吗?

我听说,存在用于在任何度量中找到两个最近点的通用算法,但它很复杂。我想知道在这种情况下(曼哈顿指标)是否可以使用这个距离的特殊属性并提出一个更简单的算法,这将在实现中更友好?

编辑:飞机上的 n 点,并为所有点说出 -10 ^ 9< = x,y< = 10 ^ 9

1 个答案:

答案 0 :(得分:0)

假设您正在讨论飞机上的n点,请在坐标中找到xy坐标的最小值和最大值。创建一个大小为maxX-minX x maxY-minY的矩阵,这样所有点都可以由矩阵中的单元格表示。使用n给定点填充矩阵(例如,不会填充所有单元格,例如设置NaN)。扫描矩阵 - 矩阵中相邻的填充单元格之间的最短距离(可能有几个这样的对)。