曼哈顿距离与切比雪夫距离

概念辨析

1、数学中最常见的欧氏距离

2、曼哈顿距离

他表示的点如下图

 

3、切比雪夫距离

他表示的点如下图

由图可以感觉曼哈顿距离和切比雪夫距离有一定的相似性

 

曼哈顿距离和切比雪夫距离的转化(45度旋转)

看着有点繁琐。

事实上:

将一个点 ( x , y ) 的坐标变为 ( x + y , x − y ) 后,原坐标系中的曼哈顿距离  =  新坐标系中的切比雪夫距离

将一个点 ( x , y ) 的坐标变为 ( (x + y )/ 2 , ( x - y ) / 2 )  后,原坐标系中的切比雪夫距离  =  新坐标系中的曼哈顿距离 (由上一行式子逆推)。

 

作用

在代码程序中我们要求切比雪夫距离时往往要进行 max 操作 , 这对于程序来说并不好优化 ,例如:对于一点来说,我们要求它到其余点的切比雪夫距离 和。此时的暴力的时间复杂度为O(n^2)。

而曼哈顿距离 只有求和和取绝对值两种操作 , 我们把坐标排序后可以去掉绝对值的影响,进而用前缀和优化,可以把复杂度降为 O ( n )。

posted @ 2024-07-27 16:11  黑屿白  阅读(57)  评论(0编辑  收藏  举报