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


Python NetworkX identified_nodes用法及代碼示例


本文簡要介紹 networkx.algorithms.minors.identified_nodes 的用法。

用法:

identified_nodes(G, u, v, self_loops=True, copy=True)

返回收縮 uv 產生的圖形。

節點收縮將這兩個節點識別為與原始兩個節點相關的任何邊的單個節點。

參數

GNetworkX 圖

節點將被收縮的圖。

u, v節點

必須是 G 中的節點。

self_loops布爾值

如果這是 True,則在 G 中連接 uv 的任何邊都將成為返回圖中新節點上的自循環。

copy布爾值

如果這是 True(默認為 True),則複製 G 並將其返回,而不是直接更改 G

返回

Networkx 圖

如果 Copy 為 True,則一個與 G 類型相同的新圖形對象(保持 G 未修改)在單個節點中標識 uv。右側節點 v 將合並到節點 u 中,因此返回的圖形中隻會出現 u。如果 copy 為 False,則使用在單個節點中標識的 uv 修改 G。右側節點 v 將合並到節點 u 中,因此返回的圖形中隻會出現 u

注意

對於多重圖,重新對齊邊的邊鍵可能與舊邊的邊鍵不同。這是很自然的,因為邊鍵僅在每對節點中是唯一的。

對於 uv 與第三個節點 w 相鄰的非多重圖,邊(vw)將收縮到邊(uw),其存儲到“contraction” 屬性中的屬性。

此函數也可用作 identified_nodes

例子

在四個節點 C_4 上收縮循環圖的兩個不相鄰節點產生路徑圖(忽略平行邊):

>>> G = nx.cycle_graph(4)
>>> M = nx.contracted_nodes(G, 1, 3)
>>> P3 = nx.path_graph(3)
>>> nx.is_isomorphic(M, P3)
True
>>> G = nx.MultiGraph(P3)
>>> M = nx.contracted_nodes(G, 0, 2)
>>> M.edges
MultiEdgeView([(0, 1, 0), (0, 1, 1)])
>>> G = nx.Graph([(1, 2), (2, 2)])
>>> H = nx.contracted_nodes(G, 1, 2, self_loops=False)
>>> list(H.nodes())
[1]
>>> list(H.edges())
[(1, 1)]

相關用法


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