그래프에서 노드 1과 나머지 노드 사이의 노드 연결을 찾고 싶습니다. 등등 167 개 라인모든 노드에 대해 변수 반복 | 파이썬에서의 노드 연결 그래프
1 2 1
1 35 1
8 37 1
을하고 다음과 같이 입력 텍스트 파일 형식입니다. 첫 번째 열은 원본 노드를 나타내고 두 번째 열은 대상 노드를 나타내며 마지막 열은 가장자리의 무게를 나타냅니다.
입력 파일에서 대상 노드를 읽고 그 사이에 가장자리를 형성하려고합니다. 그때 그것이 연결된 네트워크 (그래프의 한 구성 요소와 하위 구성 요소가 아닌지)를 알아 내야합니다. 여기서 수동
G.add_edge(1, 2)
작동하여 가장자리 부가 코드
from numpy import*
import networkx as nx
G=nx.empty_graph()
for row in file('out40.txt'):
row = row.split()
src = row[0]
dest = row[1]
#print src
G.add_edge(src, dest)
print src, dest
for i in range(2, 41):
if nx.bidirectional_dijkstra(G, 1, i): print "path exists from 1 to ", i
하지만 이러한 광산 큰 입력 파일에 적합 지루하고 아니다. if 루프 조건은 가장자리를 수동으로 추가 할 때 작동하지만 위 코드에 대해 다음 오류가 발생합니다.
in neighbors_iter
raise NetworkXError("The node %s is not in the graph."%(n,))
networkx.exception.NetworkXError: The node 2 is not in the graph.
도움이 될 것입니다!
감사합니다. 그것은 효과가 있었다. – learner
@bhanu : 이것이 당신에게 적합한 해결책이라면, 그걸로 표시해주세요. (그리고 유용한 답변을 투표하십시오) – Rabarberski
@Rabarberski 나는 그것을했습니다! 고맙습니다. – learner