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


Python SciPy csgraph.connected_components用法及代碼示例


本文簡要介紹 python 語言中 scipy.sparse.csgraph.connected_components 的用法。

用法:

scipy.sparse.csgraph.connected_components(csgraph, directed=True, connection='weak', return_labels=True)#

分析稀疏圖的連通分量

參數

csgraph 數組 或稀疏矩陣

表示壓縮稀疏圖的 N x N 矩陣。輸入的 csgraph 將被轉換為 csr 格式進行計算。

directed 布爾型,可選

如果為 True(默認值),則對有向圖進行操作:僅沿著路徑 csgraph[i, j] 從點 i 移動到點 j。如果為 False,則在無向圖上找到最短路徑:算法可以沿著 csgraph[i, j] 或 csgraph[j, i] 從點 i 前進到 j。

connection str,可選

[‘weak’|‘強’]。對於有向圖,要使用的連接類型。如果從 i 到 j 和從 j 到 i 的路徑都存在,則節點 i 和 j 是強連接的。如果用無向邊替換其所有有向邊會產生一個連通(無向)圖,則有向圖是弱連通的。如果directed == False,則不引用此關鍵字。

return_labels 布爾型,可選

如果為 True(默認),則返回每個連接組件的標簽。

返回

n_組件:int

連接組件的數量。

標簽: ndarray

length-N 連接組件的標簽數組。

參考

[1]

D. J. Pearce,“尋找有向圖強連通分量的改進算法”,技術報告,2005

例子

>>> from scipy.sparse import csr_matrix
>>> from scipy.sparse.csgraph import connected_components
>>> graph = [
... [0, 1, 1, 0, 0],
... [0, 0, 1, 0, 0],
... [0, 0, 0, 0, 0],
... [0, 0, 0, 0, 1],
... [0, 0, 0, 0, 0]
... ]
>>> graph = csr_matrix(graph)
>>> print(graph)
  (0, 1)    1
  (0, 2)    1
  (1, 2)    1
  (3, 4)    1
>>> n_components, labels = connected_components(csgraph=graph, directed=False, return_labels=True)
>>> n_components
2
>>> labels
array([0, 0, 0, 1, 1], dtype=int32)

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.sparse.csgraph.connected_components。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。