簡體   English   中英

networkx python,有向/無向圖,節點和邊不一致?

[英]networkx python, directed/undirected graph, inconsistent nodes and edges?

我創建了一個在其上運行pagerank的圖形。 我已經測試了有向圖和無向圖,但是我很難理解我所看到的。

我有下面的代碼塊:

G= nx.DiGraph() #option 1
#G= nx.Graph() #option 2
[inside a for loop]
   G.add_edge(node, another_node)
print("Graph size {} {}".format(len(G.nodes()), len(G.edges())))

[then code to run pagerank...]

如您所見,我同時嘗試了有向圖(DiGraph)和無向圖(Graph)。 對於這兩者,我經歷相同的循環,即在同一組(節點,another_node)對上多次調用“ add_edge”。

然后,在結果圖上打印節點和邊的數量。 但是,這是讓我感到困惑的路線。 因為對於DiGraph和Graph,我看到了不同的輸出:

使用選項1時,有10107個節點和1350222個邊。 使用選項2時,有10107個節點和1268064個邊。

我知道了解一致性。 這是正常現象還是可能有什么問題?

謝謝

無向圖中的邊沒有方向。 從A到B以及從B到A的邊緣被視為重復。 add_edge()默默地忽略重復項。 這就是為什么您的無向圖將具有一個邊(A,B)或(B,A),而有向圖將具有兩個邊(A,B)和(B,A)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM