曼哈頓距離與切比雪夫距離

黑屿白發表於2024-07-27

概念辨析

1、數學中最常見的歐氏距離

2、曼哈頓距離

他表示的點如下圖

3、切比雪夫距離

他表示的點如下圖

由圖可以感覺曼哈頓距離和切比雪夫距離有一定的相似性

曼哈頓距離和切比雪夫距離的轉化(45度旋轉)

看著有點繁瑣。

事實上:

將一個點 ( x , y ) 的座標變為 ( x + y , x − y ) 後,原座標系中的曼哈頓距離 = 新座標系中的切比雪夫距離

將一個點 ( x , y ) 的座標變為 ( (x + y )/ 2 , ( x - y ) / 2 ) 後,原座標系中的切比雪夫距離 = 新座標系中的曼哈頓距離 (由上一行式子逆推)。

作用

在程式碼程式中我們要求切比雪夫距離時往往要進行 max 操作 , 這對於程式來說並不好最佳化 ,例如:對於一點來說,我們要求它到其餘點的切比雪夫距離 和。此時的暴力的時間複雜度為O(n^2)。

而曼哈頓距離 只有求和和取絕對值兩種操作 , 我們把座標排序後可以去掉絕對值的影響,進而用字首和最佳化,可以把複雜度降為 O ( n )。

相關文章