Passion/Network

networkx

sunshout 2007. 4. 30. 15:56
파이슨으로 짠 network 그래프 관련 패키지이다.

유용하게 사용할 수 있을거 같아서 정리를 해본다.

from networkx import *
G = Graph()

********* 그래프 만들기 *************
* Node 하나 추가하기
G.add_node(n)

* Node 리스트 추가하기 (nbunch는 노드들의 리스트)
G.add_nodes_from(nbunch)


* 그래프 complement 시키기 (새로운 그래프를 리턴한다)
G1 = complement(G)


* 두개의 그래프 union 시키기
union(G1,G2)

********* 그래프 찾기 ******************
* shortest path 찾기
shortest_path(G, src, dest)
- src 에서 dest까지의 shortest path 노드들을 리스트로 리턴함


************ 보기 관련 *****************
* 그래프의 노드들 보기
G.nodes()

* 그래프의 에지들 보기
G.edges()

*********** 파일로 저장 ***************
fh = open('result_file', 'w')
write_adjlist(G, fh)

파일에서 읽어서 그래프로 만들기
G = read_adjlist(fh)