我知道邻接矩阵的计算成本为n * n。即,该图论结构在存在或不存在边的情况下,每对顶点都包含值0或1,因此需要n ^ 2的空间。我对基于邻接关系的距离矩阵的计算成本很感兴趣,其中每个条目都是邻接矩阵行之间的欧几里得距离。该矩阵是伪距离矩阵,因为如果两个相邻行相同,则它可以在非对角位置包含零。
例如,我们有五个路径图,它们的邻接矩阵如下:
1 2 3 4 5
1 0 1 0 0 0
2 1 0 1 0 0
3 0 1 0 1 0
4 0 0 1 0 1
5 0 0 0 1 0
然后,我们正在计算上述邻接矩阵各行之间的欧几里得距离的距离矩阵。该距离矩阵的形式为:
1 2 3 4 5
1 0.00 1.73 1 1.73 1.41
2 1.73 0.00 2 1.41 1.73
3 1.00 2.00 0 2.00 1.00
4 1.73 1.41 2 0.00 1.73
5 1.41 1.73 1 1.73 0.00
我对距离矩阵计算的计算成本和整个过程的计算成本很感兴趣。
我们在igraph R中创建具有五个节点的路径图,如下所示:
path=graph.formula(1-2,2-3,3-4,4-5)
接下来,我们生成邻接矩阵:
adj.matrix=as.matrix(get.adjacency(path))
我们计算邻接矩阵行之间的欧几里得距离的距离矩阵:
dist.matrix=as.matrix(dist(adj.matrix)).
我对上述计算的计算成本很感兴趣。