3
실습을 위해 tarjan 알고리즘을 구현하려고합니다. 임의의 그래프를 생성하여 한 번에 하나의 가장자리를 추가하여 알고리즘에 입력으로 제공하기로 결정했습니다.networkx에서 edgelist의 사용자 지정 출력
from networkx import *
import sys
import matplotlib.pyplot as plt
n = 10 # 10 nodes
m = 20 # 20 edges
G = gnm_random_graph(n, m)
# print the adjacency list to a file
try:
nx.write_edgelist(G, "test.edgelist", delimiter=',')
except TypeError:
print "Error in writing output to random_graph.txt"
fh = open("test.edgelist", 'rb')
G = nx.read_adjlist(fh)
fh.close()
이하 나는 이런 식으로 뭔가있는 test.edgelist 파일에있어 출력을 같이
나는 랜덤 그래프를 생성하고 파일에 저장된.0,4,{}
0,5,{}
0,6,{}
1,8,{}
1,3,{}
1,4,{}
1,7,{}
2,8,{}
2,3,{}
2,5,{}
3,8,{}
3,7,{}
4,8,{}
4,9,{}
5,8,{}
5,9,{}
5,7,{}
6,8,{}
6,7,{}
7,9,{}
어떻게 지금, 내가 구현 한 tarjan의 알고리즘, 입력은 형식 I 입력으로 제공하는 루프에서 무작위로 생성 된 그래프를 사용하고자하는
add_edge(1,2)
add_edge(2,3)
....
입니다.
어떻게 {}을 얻지 못합니까? 또한 이것을 구현하는 더 좋은 방법이 있다면 대용량 데이터 세트의 경우 단일 목록으로 저장하기가 어려우므로 도움을 받으십시오 (add_edge()는 목록에 가장자리를 추가 함)