minimum_spanning_tree#
- minimum_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.minimum_spanning_tree(G) >>> sorted(T.edges(data=True)) [(0, 1, {}), (1, 2, {}), (2, 3, {})]