首页 > 其他分享 >曼哈顿距离与切比雪夫距离

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

时间:2024-07-27 16:19:00浏览次数:10  
标签:曼哈顿 比雪夫 距离 与切 坐标 复杂度 坐标系

概念辨析

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

2、曼哈顿距离

他表示的点如下图

 

3、切比雪夫距离

他表示的点如下图

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

 

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

看着有点繁琐。

事实上:

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

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

 

作用

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

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

标签:曼哈顿,比雪夫,距离,与切,坐标,复杂度,坐标系
From: https://www.cnblogs.com/purple123/p/18327088

相关文章

  • 【YOLOv8改进 - 注意力机制】Gather-Excite : 提高网络捕获长距离特征交互的能力
    YOLOv8目标检测创新改进与实战案例专栏专栏目录:YOLOv8有效改进系列及项目实战目录包含卷积,主干注意力,检测头等创新机制以及各种目标检测分割项目实战案例专栏链接:YOLOv8基础解析+创新改进+实战案例介绍摘要虽然卷积神经网络(CNNs)中使用自下而上的局部操作符与自......
  • ChirpLAN™--助力低功耗远距离物联网
      在物联网的世界里,无线通信模块无比重要!它能实现数据的传送,它能完成信息的收发,它能进行信息的传递、路由和控制。它覆盖延伸网,它连接接入网,它掌控核心网。它依托公众电信网,它依靠互联网,它借助行业专用通信网络。常见的自组网模块,如蓝牙、窗口、2.4G等等,您一定熟知!磐启微电子......
  • 编辑距离与滚动数组优化 - 二维动态规划模板
    题目:编辑距离。思路显然,定义\(f[i][j]\)表示字符串\(a\)中前\(i\)个字符到字符串\(b\)中前\(j\)个字符的编辑距离。那么对于\(a_i=b_j\)时,我们对当前位无需进行任何编辑操作,则\(f[i][j]=f[i-1][j-1]\)。如果\(a_i\neb_j\),那么我们就要对当前位进行编辑:......
  • 用python计算形状的距离
    我想计算该图像的最小垂直距离和最大水平距离。就像线条一样。我正在尝试:_,binary_image=cv2.threshold(image,0,255,cv2.THRESH_BINARY)horizontal_distances=np.sum(binary_image==255,axis=1)max_horizontal_distance=np.max(horizontal_distance......
  • 矩阵距离——广度优先搜索
    题目描述给定一个N行M列的01矩阵A,A[i][j]与A[k][l]之间的曼哈顿距离定义为:dist(A[i][j],A[k][l])=|i-k|+|j-l|输出一个N行M列的整数矩阵B,其中:B[i][j]=min(1≤x≤N,1≤y≤M,A[x][y]=1)⁡{dist(A[i][j],A[x][y])}即求与每个位置曼哈顿距离最近的1N,M≤1000。输入格式......
  • OpenCV ----像素距离与连通域
    文章目录一.图像像素距离变换1.常用距离的三种定义:(1)欧式距离-----DIST_L2(2)街区距离-----DIST_L1(3)棋盘距离------DIST_C2.distanceTransform()------距离转换函数(1)函数原型(2)运用演示二.图像连通域(1)定义(2)邻域(3)标记连通域函数-----connectedComponents()(3)connecte......
  • PyMOL测量蛋白质中两个原子或残基空间距离
    测量距离在Pymol中实现两个原子间的空间距离测量一、 以PDB:4hbk为例,打开PyMOL运行命令载入蛋白(也可以直接 .pdb格式导入) 二、点击菜单栏中的Wizard->Measurement 就可以进行距离测量。然后分别选择两个2个原子就可以显示这2个原子的距离。比如我们想测定TYR48中侧链......
  • java中用高德工具测试两点的距离
    文章讲述了如何在Java中利用DistinctUtil工具类通过高德地图API获取两个地理位置之间的驾车距离,涉及经纬度处理、URL构建、HTTP请求和JSON解析过程。摘要由CSDN通过智能技术生成  代码如下:StringstartLongitude=entity.getLONGITUDE();//起点(当前位置)经度......
  • 初识铺铜与切铜
    铺铜和切铜是PCB(PrintedCircuitBoard,印刷电路板)设计中的两个重要步骤,它们各自具有特定的目的和操作方法。铺铜定义:铺铜是指在PCB电气层上添加整块的铜皮,用以填充没有布线的区域或闲置的空间。这些铜区也被称为灌铜或敷铜。铺铜是PCB设计中的一个重要环节,对于提高电路板......
  • Leetcode【编辑距离】
    72.编辑距离给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数  。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1="horse",word2="ros"输出:3解释:horse->rorse(将'h'替换为......