Я новичок в питоне.Я пытаюсь получить Unweighted-Single-Source-Shortest-Path, используя BFS.
from queue import *
def ussp(graph, s):
len_graph = len(graph)
prev = [[]*len_graph for i in range(len_graph)]
visited = [False for i in range(len_graph)]
queue2 = Queue
dist = [[float('inf')] for i in range(len_graph)]
queue2.put_nowait(graph[s], 0) # starting with s
visited[s] = True
dist[s] = 0
# modified BFS alg.
while queue2.empty() == False:
h = queue2.get_nowait()
for i in len(graph[h]):
if visited[graph[h][i]] == False:
visited[graph[h][i]] = True
dist[graph[h][i]] = dist[h] + 1
prev[graph[h][i]] = h
queue2.put_nowait(graph[h][i], 0)
print(dist)
graph2 = {1: [2, 3, 5], 2: [4, 6, 1], 3: [5, 1], 4: [6], 5: [2], 6: [1, 7], 7: [2]}
ussp(graph2, 1)
Вот что я получил сейчас.Я был почти уверен, что это должно работать, но это не так.Это даже не скомпилировано.Я довольно новый со списками, массивами и очередями в Python, тоже.Был бы добр, если бы вы могли мне помочь.Заранее спасибо