Algorithm 中间性中心性的时间复杂性?

Algorithm 中间性中心性的时间复杂性?,algorithm,graph,matrix,complexity-theory,Algorithm,Graph,Matrix,Complexity Theory,如果给定图的最短路径前置矩阵,计算的时间复杂度是多少 前置矩阵单元如下所示: 如果节点i和节点j直接连接,则单元中的值为0 如果节点i和节点j未连接,则单元中的值为-1 else cell=前置(j)-如果在i和j之间存在一条以上的最短路径,则只能是一条前置路径,如果在i和j之间存在多条最短路径,则只能是一个前置路径 谢谢你的回答 我熟悉Brandes算法。然而,Brandes算法将计算网络中所有节点的介数。我认为计算一个顶点的CB所花费的时间与计算所有顶点的CB所花费的时间相同,因为Br

如果给定图的最短路径前置矩阵,计算的时间复杂度是多少

前置矩阵单元如下所示:

  • 如果节点i和节点j直接连接,则单元中的值为0
  • 如果节点i和节点j未连接,则单元中的值为-1
  • else cell=前置(j)-如果在i和j之间存在一条以上的最短路径,则只能是一条前置路径,如果在i和j之间存在多条最短路径,则只能是一个前置路径

谢谢你的回答

我熟悉Brandes算法。然而,Brandes算法将计算网络中所有节点的介数。我认为计算一个顶点的CB所花费的时间与计算所有顶点的CB所花费的时间相同,因为Brandes算法不能适应这种情况

因此,我的想法是存储前置矩阵,并能够计算某个顶点的CB(而不必等待所有顶点的CB计算)。 我知道我无法实现更小的时间复杂度,但我认为,不计算所有7000个顶点的CB,就可以实现时间量上的差异。相反,有了这个矩阵,我就可以只计算一个顶点的CB

我认为可以计算O(n^2*L)中的CB,其中L是有前置矩阵时的平均最短路径


你对这个概念有什么看法?

据我所知,计算介数中心性的最著名算法是本文中描述的算法:

  • 乌尔里克·布兰德斯(2001)。数学社会学杂志25(2):163-177
您将看到,作为第一步,该算法计算每对节点之间的最短路径数。以同时计算前置矩阵的方式这样做是很自然的。因此,预计算前置矩阵似乎没有什么好处:在执行Brandes算法时,基本上是免费获得的


(当然,这并不能证明它没有什么区别,也许其他人更清楚。你可能想继续问。)

据我所知,计算介数中心度的最著名算法是本文中描述的算法:

  • 乌尔里克·布兰德斯(2001)。数学社会学杂志25(2):163-177
您将看到,作为第一步,该算法计算每对节点之间的最短路径数。以同时计算前置矩阵的方式这样做是很自然的。因此,预计算前置矩阵似乎没有什么好处:在执行Brandes算法时,基本上是免费获得的


(当然,这并不能证明它没有什么区别,也许其他人知道得更清楚。你可能想继续问下去。)

2013年11月18日,Nasre、Pontecorvi和Ramachandran提出了一种更快的算法。见。2013年11月18日,Nasre、Pontecorvi和Ramachandran提出了一种更快的算法。看见