大家好,欢迎来到IT知识分享网。
Python学习系列文章:👉 目录 👈
一、概述
曼哈顿距离,也正是这个原理,不能像 绿线(/) 一样,横穿建筑,而是需要和其它三条线一样, 穿过大街小巷。
二、计算公式
① 二维平面上的曼哈顿距离
假设 二维平面 内有两点: a ( x 1 , y 1 ) a(x_{1},y_{1}) a(x1,y1) 与 b ( x 2 , y 2 ) b(x_{2},y_{2}) b(x2,y2)
则二维平面的曼哈顿距离公式为:
d 12 = ∣ x 1 − x 2 ∣ + ∣ y 1 − y 2 ∣ d_{12}=|x_{1}-x_{2}|+|y_{1}-y_{2}| d12=∣x1−x2∣+∣y1−y2∣
例如上图的 A ( 1 , 1 ) A(1,1) A(1,1) 与 B ( 5 , 4 ) B(5,4) B(5,4),则 A B AB AB 两点的距离为:
d A B = ∣ 5 − 1 ∣ + ∣ 4 − 1 ∣ = 4 + 3 = 7 \begin{aligned} d_{AB} &=|5-1|+|4-1| \\ &=4+3\\ &=7 \end{aligned} dAB=∣5−1∣+∣4−1∣=4+3=7
② 三维空间上的曼哈顿距离
假设 三维空间 内有两点: a ( x 1 , y 1 , z 1 ) a(x_{1},y_{1},z_{1}) a(x1,y1,z1) 与 b ( x 2 , y 2 , z 2 ) b(x_{2},y_{2},z_{2}) b(x2,y2,z2)
则三维空间的距离公式为:
d 12 = ∣ x 1 − x 2 ∣ + ∣ y 1 − y 2 ∣ + ∣ z 1 − z 2 ∣ d_{12}=|x_{1}-x_{2}|+|y_{1}-y_{2}|+|z_{1}-z_{2}| d12=∣x1−x2∣+∣y1−y2∣+∣z1−z2∣
举个例子,比如上图的 A ( 1 , 2 , 3 ) A(1,2,3) A(1,2,3) 与 B ( 6 , 3 , 5 ) B(6,3,5) B(6,3,5) 两点,计算 A B AB AB 两点的曼哈顿距离为:
d A B = ∣ 6 − 1 ∣ + ∣ 3 − 2 ∣ + ∣ 5 − 3 ∣ = 5 + 1 + 2 = 8 \begin{aligned} d_{AB} &=|6-1|+|3-2|+|5-3| \\ &=5+1+2\\ &=8 \end{aligned} dAB=∣6−1∣+∣3−2∣+∣5−3∣=5+1+2=8
③ n维空间上的曼哈顿距离
假设 n维空间 内有两点: a ( x 11 , x 12 , . . . , x 1 n ) a(x_{11},x_{12},…,x_{1n}) a(x11,x12,...,x1n) 与 b ( x 21 , y 22 , . . . , z 2 n ) b(x_{21},y_{22},…,z_{2n}) b(x21,y22,...,z2n)
则n维空间的距离公式为:
d 12 = ∑ k = 1 n ∣ x 1 k − x 2 k ∣ d_{12}=\sum_{k=1}^n|x_{1k}-x_{2k}| d12=k=1∑n∣x1k−x2k∣
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/134253.html