【发布时间】:2016-09-26 12:35:08
【问题描述】:
我对这样的二维数组(矩阵)有点困惑
0.0 1.8 9.1 4.0 3.5
1.8 0.0 8.1 5.2 8.6
9.1 8.1 0.0 2.9 8.1
4.0 5.2 2.9 0.0 2.0
3.5 8.6 8.1 2.0 0.0
应该代表一个图形。这些值代表权重,然后代表节点和边。我试图蛮力找到所有可能的树(我不是在寻求帮助,只是想了解这应该如何代表
【问题讨论】:
-
如果你不知道,你希望别人怎么知道?这只是一个数字矩阵。没有将二维数字矩阵解释为某种图形的通用约定。没有其他事情可做。
-
如果你有静态拓扑,那么你只需要定义一个序列化/反序列化的顺序,否则如果不包括图拓扑的一些元数据,你的要求是不可能的。
-
我唯一要说的是“对于一个对权重矩阵进行运算的算法,它将存储在二维数组中的权重矩阵作为其参数”
-
您的数据根本没有任何意义。这可能意味着第 0 行是节点 0,它自身的成本为 0.0,节点 1 的成本为 1.8,节点 2 的成本为 4.0 ......等等(因此表中的对角线为 0.0)。但您的数据并非如此,因为您只有 5 行(5 个节点 - 图有 8 个),并且每个节点都有三个边和一些邻居(也与您的图不匹配)
标签: c++ arrays matrix multidimensional-array tree