Python 计算NetworkX图形中断开连接的组件数 从一个随机生成的树开始,我想考虑树的每个节点,并可能以某种概率删除它。由于树没有循环,并且任何一对节点之间都有一条唯一的路径,因此移除一个节点后,应留下d断开连接的树,其中d是该节点的阶数

Python 计算NetworkX图形中断开连接的组件数 从一个随机生成的树开始,我想考虑树的每个节点,并可能以某种概率删除它。由于树没有循环,并且任何一对节点之间都有一条唯一的路径,因此移除一个节点后,应留下d断开连接的树,其中d是该节点的阶数,python,networkx,graph-theory,Python,Networkx,Graph Theory,我的问题是,一旦我对整个图做了这些,我如何检查这些未连接的段有多少 import networkx as nx import random as rand n = 20 p = 0.1 G = nx.random_tree(n) for i in range(0, n): if rand.random() < p: G.remove_node(i) x = G.count_disconnected_components() # is there anythin

我的问题是,一旦我对整个图做了这些,我如何检查这些未连接的段有多少

import networkx as nx
import random as rand

n = 20
p = 0.1

G = nx.random_tree(n)
for i in range(0, n):
    if rand.random() < p:
        G.remove_node(i)

x = G.count_disconnected_components() # is there anything that accomplishes this?
将networkx导入为nx
随机导入为rand
n=20
p=0.1
G=nx.随机_树(n)
对于范围(0,n)内的i:
如果rand.random()
例如,对于此图,
G.count\u disconnected\u components()
应返回3。

在我看来,您实际上想要计算连接部件的数量。尝试:

print(list(nx.connected_components(G)))
print(nx.number_connected_components(G))