使用NetworkX工具
1. 關(guān)于圖的創(chuàng)建
使用 nx.Graph() 進(jìn)行創(chuàng)建無向圖,使用 nx.DiGraph() 來創(chuàng)建有向圖。
2. 關(guān)于節(jié)點(diǎn)的增加、刪除和查詢
使用 G.add_node(‘A’) 添加一個(gè)節(jié)點(diǎn),也可以使用G.add_nodes_from([‘B’,‘C’,‘D’,‘E’]) 添加節(jié)點(diǎn)集合。
刪除節(jié)點(diǎn),用 G.remove_node(node) 刪除一個(gè)指定的節(jié)點(diǎn),也可以用G.remove_nodes_from([‘B’,‘C’,‘D’,‘E’]) 刪除集合中的節(jié)點(diǎn)。
圖中所有的節(jié)點(diǎn),用 G.nodes();也可以用G.number_of_nodes() 得到圖中節(jié)點(diǎn)的個(gè)數(shù)。
3. 關(guān)于邊的增加、刪除、查詢
增加邊與添加節(jié)點(diǎn)的方式相同,使用 G.add_edge(“A”, “B”) 添加指定的“從 A 到B”的邊,也可以使用 add_edges_from 函數(shù)從邊集合中添加。也可以做一個(gè)加權(quán)圖,使用 add_weighted_edges_from 函數(shù)從帶有權(quán)重的邊的集合中添加。在這個(gè)函數(shù)的參數(shù)中接收的是 1 個(gè)或多個(gè)三元組 [u,v,w] 作為參數(shù),u、v、 w 分別代表起點(diǎn)、終點(diǎn)和權(quán)重。
用 remove_edge 函數(shù)和 remove_edges_from 函數(shù)刪除指定邊和從邊集合中刪除。
用 edges() 函數(shù)訪問圖中所有的邊,使用 number_of_edges() 函數(shù)得到圖中邊的個(gè)數(shù)。
nx.pagerank(G) 這個(gè)函數(shù)運(yùn)行PageRank算法,函數(shù)中的參數(shù) G 代表創(chuàng)建好的圖。
希拉里郵件PR分析
https://github.com/cystanford/PageRank

