igraph(最大)生成树断开连接

时间:2017-09-07 19:15:14

标签: python igraph

我有一个图表,想要获得最大生成树,因此我获得了具有反向权重的图的最小生成树。但是,结果会给出一个断开连接的图表。

以下是我的问题的一个例子:

import igraph
import numpy as np
AM = ([[0, 2, 1], [1, 0, 1], [2, 1, 0]])

g = igraph.Graph.Weighted_Adjacency(AM)
print g.is_connected()
inv_weight = [1./w for w in g.es["weight"]]
print g.spanning_tree(weights=inv_weight).is_connected()

结果是:

True
False

这怎么可能?

1 个答案:

答案 0 :(得分:1)

结果表明生成树是定向的,只是弱连接。因此

g.spanning_tree(weights=inv_weight).is_connected(mode="weak")

返回:

True

要获得强连接树,可以使用以下任一行:

g = igraph.Graph.Weighted_Adjacency(AM, mode="undirected")

T = g.spanning_tree(weights=inv_weight)
T = T.to_undirected()
print T.is_connected()

结果是:

True