曼哈顿距离与切比雪夫距离
概念辨析
1、数学中最常见的欧氏距离
2、曼哈顿距离
他表示的点如下图
3、切比雪夫距离
他表示的点如下图
由图可以感觉曼哈顿距离和切比雪夫距离有一定的相似性
曼哈顿距离和切比雪夫距离的转化(45度旋转)
看着有点繁琐。
事实上:
将一个点 ( x , y ) 的坐标变为 ( x + y , x − y ) 后,原坐标系中的曼哈顿距离 = 新坐标系中的切比雪夫距离
将一个点 ( x , y ) 的坐标变为 ( (x + y )/ 2 , ( x - y ) / 2 ) 后,原坐标系中的切比雪夫距离 = 新坐标系中的曼哈顿距离 (由上一行式子逆推)。
作用
在代码程序中我们要求切比雪夫距离时往往要进行 max 操作 , 这对于程序来说并不好优化 ,例如:对于一点来说,我们要求它到其余点的切比雪夫距离 和。此时的暴力的时间复杂度为O(n^2)。
而曼哈顿距离 只有求和和取绝对值两种操作 , 我们把坐标排序后可以去掉绝对值的影响,进而用前缀和优化,可以把复杂度降为 O ( n )。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架