当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX minimum_spanning_tree用法及代码示例


本文简要介绍 networkx.algorithms.tree.mst.minimum_spanning_tree 的用法。

用法:

minimum_spanning_tree(G, weight='weight', algorithm='kruskal', ignore_nan=False)

返回无向图 G 上的最小生成树或森林。

参数

G无向图

一个无向图。如果G 已连接,则算法会找到生成树。否则,会找到一个生成林。

weightstr

用于边权重的数据键。

algorithmstring

查找最小生成树时使用的算法。有效选择是‘kruskal’, ‘prim’或‘boruvka’。默认为‘kruskal’。

ignore_nan布尔(默认值:假)

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

返回

GNetworkX 图表

最小的生成树或森林。

注意

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

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

可能有不止一棵树具有相同的最小或最大权重。有关更详细的定义,请参阅networkx.tree.recognition

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

例子

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

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.tree.mst.minimum_spanning_tree。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。