【发布时间】:2014-03-21 06:13:13
【问题描述】:
我有邻接矩阵,我不知道点的位置只知道邻接矩阵和邻居之间的距离相等。
那么我如何获得点之间的距离??:
有没有算法可以做到这一点
【问题讨论】:
标签: matlab euclidean-distance adjacency-matrix
我有邻接矩阵,我不知道点的位置只知道邻接矩阵和邻居之间的距离相等。
那么我如何获得点之间的距离??:
有没有算法可以做到这一点
【问题讨论】:
标签: matlab euclidean-distance adjacency-matrix
那么我如何获得点之间的距离??
一般来说,你不能,假设你使用欧几里得距离作为标记。根据您提供的信息,您无法设计出独特的图表布局(嵌入)。
作为一个小的反例,取邻接矩阵:
[0 1 1]
[1 0 0]
[1 0 0]
顶点 1 连接到顶点 2 和顶点 3 形成一个角度。线段 (1,2) 和 (1,3) 之间的角度可以是我们想要的任何角度,从 0° 到 180°,使顶点 2 和 3 之间的距离在 0 到 2 个单位之间。
要提出任何合理的建议,您必须首先在图表上施加某种布局。
【讨论】:
由于邻接矩阵表示一个图,所以需要遍历图来寻找可能的路径。您可以使用breadth-first search 执行此操作,因为该图没有加权。请记住,某些点之间的距离可能是无限的,因为从一个点到另一个点可能没有路径
【讨论】: