曼哈頓距離與切比雪夫距離及其相互轉化


本文只討論二維空間中的曼哈頓距離與切比雪夫距離

曼哈頓距離

定義

設平面空間內存在兩點,它們的坐標為$(x1,y1)$,$(x2,y2)$

則$dis=|x1-x2|+|y1-y2|$

即兩點橫縱坐標差之和

煮個栗子

如圖所示,圖中$A,B$兩點的曼哈頓距離為$AC+BC=4+3=7$

 

切比雪夫距離

定義

設平面空間內存在兩點,它們的坐標為$(x1,y1)$,$(x2,y2)$

則$dis=max(|x1-x2|,|y1-y2|)$

即兩點橫縱坐標差的最大值

再煮個栗子

$dis=max(AC,BC)=AC=4$

 

兩者之間的關系

兩者的定義看上去好像毛線關系都沒有,但實際上,這兩種距離可以相互轉化

我們考慮最簡單的情況,在一個二維坐標系中,設原點為$(0,0)$

如果用曼哈頓距離表示,則與原點距離為$1$的點會構成一個邊長為$\sqrt{2}$的正方形

 

 

如果用切比雪夫距離表示,則與原點距離為$1$的點會構成一個邊長為$2$的正方形

 

 

仔細對比這兩個圖形,我們會發現這兩個圖形長得差不多,他們應該可以通過某種變換互相轉化。

事實上,

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

將一個點$(x,y)$的坐標變為$(\frac{x+y}{2},\frac{x-y}{2})$ 后,原坐標系中的切比雪夫距離 $=$ 新坐標系中的曼哈頓距離

 

用處

切比雪夫距離在計算的時候需要取$max$,往往不是很好優化,對於一個點,計算其他點到該的距離的復雜度為$O(n)$

而曼哈頓距離只有求和以及取絕對值兩種運算,我們把坐標排序后可以去掉絕對值的影響,進而用前綴和優化,可以把復雜度降為$O(1)$

例題

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM