當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。