У меня есть код для выполнения поиска в ширину на графике, и я попытался вызвать процедуру BFS (например, BFS (graph, "A", "C"), однако она показывает мне ошибку. Мне нужноопределить MyQUEUE, как и где именно это определить?
Я пытался создать очередь классов и определить ее, однако она продолжает показывать мне ошибку
def BFS(graph,start,end):
q = MyQUEUE() # make an empty queue first
q.enqueue([start]) # add the start node onto the queue
while q.IsEmpty() == False:
path = q.dequeue()
last_node = path[len(path)-1]
print (path)
if last_node == end:
print ("VALID_PATH : ", path)
for link_node in graph[last_node]:
if link_node not in path:
new_path = []
new_path = path + [link_node]
q.enqueue(new_path)
graph = {'A': ['B', 'C','E'],
'B': ['A','C', 'D'],
'C': ['D'],
'D': ['C'],
'E': ['F','D'],
'F': ['C']}
Я ожидаю, что вызовет BFS воболочка (BFS (graph, node1, node2) работает правильно, поэтому она находит все доступные трейлы.