场景:基于python库networkx来求解图最短路径,相关算法基础参考
http://blog.csdn.net/fjssharpsword/article/details/52931373
http://blog.csdn.net/fjssharpsword/article/details/52953640
可看networkx源码了解其内部算法用的原理。
代码:
# -*- coding: utf-8 -*-
import networkx as nx
import matplotlib.pyplot as plt
#读取文件,获取节点和边
f = open("D:\\tmp\\gy_contest_link_top.txt", "r")
nodelist=[]
edgelist=[]
while True:
line = f.readline()
if line:
pass # do something here
line=line.strip()
node=line.split(';')[0]#获取图节点
nodelist.append(node)
in_nodes=line.split(';')[1].split('#')#获取图边,该节点是终点
for ins in range( len(in_nodes) ) :
if in_nodes[ins].strip() !='':
in_edge=(in_nodes[ins],node)
if in_edge not in edgelist: