通过删除单个节点来降低图的连通性的最佳算法是什么?

时间:2018-07-29 08:43:48

标签: c++ algorithm graph

给出以下无向图:

  

否。的节点数: 7
  不。的边缘: 6

     

优势:

     

(0 1)
  (1 2)
  (2 3)
  (2 4)
  (4 5)
  (4 6)

如您所见,此图是一个连接的组件,任何其他节点都可以访问任何节点。我想检测要删除的最佳节点,以使结果图具有最低的连接性(无法到达其他节点的最大节点对数)。在这种情况下,最佳节点为2,因为它将导致3个分量(0,1),(3),(4,5,6),并且无法互相到达的对数为11。

那么检测该节点的最佳算法是什么?

1 个答案:

答案 0 :(得分:1)

Betweenness centrality是度量图形中最短路径经过特定节点(或边缘)的量度。通常在聚类中使用它来选择通过移除而使图形断开最多的边。听起来与您要执行的操作非常相似。

有很多算法可以计算图中每个节点的中间性,例如Floyd-Warshall或Brandes算法。一旦掌握了所有节点的中间性(确保使用算法的节点多样性,而不是边缘算法的多样性),就应该选择具有最高值的节点,并将其从图中删除。