1

Необходимо вычислить кратчайший путь между двумя точками и показать его. Вычислить у меня получилось, а вот показать сам путь не могу.

from pygraph.classes.graph import graph
from pygraph.algorithms.searching import *

gr = graph()
gr.add_nodes(['A','B','C','X','Y','Z']) # Add nodes

# Add edges
gr.add_edge(('X','Y'), 2)
gr.add_edge(('X','Z'), 1)
gr.add_edge(('A','B'), 1)
gr.add_edge(('A','C'), 3)
gr.add_edge(('Y','B'), 4)
gr.add_edge(('Y','C'), 7)

sh1, sh2 = shortest_path(gr, source = 'X');

print(sh2['A']) #кратчайшее расстояние от X до A

7

Помимо числа 7 мне нужно получить что-то на подобии:

X -> Y -> B -> A

Уверен что модуль pygraph позволяет это cделать, но не могу правильно сориентироваться - перелопатил весь модуль, но так и нашел что искал.

1 ответ 1

1

На этой странице описание функции shortest_path(graph, source).

1

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.