networkx生成网络的子网计算

当我们用networkx生成网络时,节点之间的关系是随机的,很多时候我们生成的一个网络,存在不止一个子网,也就是说任意两个节点之间不一定连通

当我们想生成一个任意两点都能连通的网络时,就需要去判断生成的网络是不是只有一个子网,此时我们可以通过numpy的一个函数去判断

number_connected_components

这个函数返回的值代表网络中的子网个数,如果我们想生成只有一个子网的网络时,我们可以通过它来判断,以ER网络为例

while 1:
    er = nx.erdos_renyi_graph(200, 4/200)
    a = nx.to_numpy_matrix(er)
    #确保只有一个子网
    if nx.number_connected_components(er) == 1:
        break

以上就是生成一个有200个节点的ER网络,且其中任意两个节点都能连通

posted @ 2019-11-18 17:15  dgwzq  阅读(917)  评论(0)    收藏  举报