Здравствуйте!
Было задание для графа  записанного в текстовый файл в форме:
Первая строка: число вершин, пробел, число ребер
Остальные строки: номер одной вершины (номера начинаются с 1), пробел, номер второй вершины, пробел, вес ребра соединяющего эти вершины.
Потом после запуска программы вводятся номера начальной и конечной вершин, и программа с помощью алгоритма Дейкстры должна найти кратчайший путь между этими вершинами. Сделал программу:
import networkx as nx
G=nx.Graph()
abc=open("d2103.eliminated.wel")
w=abc.readline()
o=w.split()
m=int(o[0])
n=int(o[1])
for i in range(n):
    t=abc.readline()
    r=t.split()
    x=int(r[0])
    y=int(r[1])
    z=int(r[2])
    G.add_edge(x, y, weight=z)
abc.close()
n=int(input())
k=int(input())
a=[[float('inf'), i+1] for i in range(m)]
a[n-1][0]=0
b=[]
for i in range(m):
    b.append([])
b[n-1]=[n]
c=[]
e=[i for i in range(1, m+1)]
while True:
    for i in range(len(e)):
        found = False
        if e[i] not in c:
            found=True
            break
    if not found:
        break
    f=[]
    for i in a:
        if i[1] not in c:
            f.append(i)
    g=[]
    for i in range(len(f)):
        g.append(f[i][0])
    v1=min(g)
    for i in f:
        if i[0]==v1:
            v=i[1]
            break
    c.append(v)
    for u in G[v]:
        if u not in c:
            if a[u-1][0]>a[v-1][0]+G[v][u]['weight']:
                a[u-1][0]=a[v-1][0]+G[v][u]['weight']
                b[u-1]=[]
                for i in range(len(b[v-1])):
                    b[u-1].append(b[v-1][i])
                b[u-1].append(u)
print(b[k-1])
 
  Но эта  программа работает намного медленее чем встроенный алгоритм Дейкстры (
import networkx as nx
G=nx.Graph()
abc=open("d2103.eliminated.wel")
w=abc.readline()
o=w.split()
m=int(o[0])
n=int(o[1])
for i in range(n):
    t=abc.readline()
    r=t.split()
    x=int(r[0])
    y=int(r[1])
    z=int(r[2])
    G.add_edge(x, y, weight=z)
abc.close()
n=int(input())
k=int(input())
print(nx.dijkstra_path(G, n, k))
  ), три минуты против двух секунд. Почему у меня так медленно и как это исправить?