1. 程式人生 > >Networkx_找出最大聯通子圖及聯通子圖規模排序

Networkx_找出最大聯通子圖及聯通子圖規模排序

import matplotlib.pyplot as plt import networkx as nx G=nx.path_graph(4) G.add_path([10,11,12]) nx.draw(G,with_labels=True,label_size=1000,node_size=1000,font_size=20) plt.show() #[print(len(c)) for c in sorted(nx.connected_components(G),key=len,reverse=True)] for c in sorted(nx.connected_components(G),key=len,reverse=True):     print(c)      #看看返回來的是什麼?結果是{0,1,2,3}     print(type(c))   #型別是set     print(len(c))   #長度分別是4和3(因為reverse=True,降序排列) largest_components=max(nx.connected_components(G),key=len)
 # 高效找出最大的聯通成分,其實就是sorted裡面的No.1 print(largest_components)  #找出最大聯通成分,返回是一個set{0,1,2,3} print(len(largest_components))  #4