maximum_spanning_tree#

maximum_spanning_tree(G, weight='weight', algorithm='kruskal', ignore_nan=False)[源代码]#

返回无向图上的最大生成树或林 G .

参数
G无向图

无向图。如果 G 是连通的,则该算法找到一棵生成树。否则,就会发现一片横跨的森林。

weight应力

用于边权重的数据关键点。

algorithm字符串

查找最大生成树时使用的算法。有效的选项是‘Kruskal’、‘Prim’或‘Boruvka’。缺省值为‘Kruskal’。

ignore_nan布尔值(默认值:FALSE)

如果发现NaN作为边权重,则通常会引发异常。如果 ignore_nan is True 然后,该边将被忽略。

返回
G网络X图表

最大生成量的树或森林。

笔记

对于bor_vka的算法,每个边必须有一个权重属性,并且每个边的权重必须是不同的。

对于其他算法,如果图形边缘没有权重属性,则将使用默认权重1。

可能有多棵树具有相同的最小或最大重量。见 networkx.tree.recognition 更详细的定义。

具有自循环的独立节点在树中作为无边独立节点。

实例

>>> G = nx.cycle_graph(4)
>>> G.add_edge(0, 3, weight=2)
>>> T = nx.maximum_spanning_tree(G)
>>> sorted(T.edges(data=True))
[(0, 1, {}), (0, 3, {'weight': 2}), (1, 2, {})]