Используя Digraph, созданный с помощью GraphViz, как я могу найти кратчайший путь между словами «A» и «H»? Я знаю алгоритм Dijkstra, и я знаю, что GraphViz предлагает инструменты, которые позволяют использовать его, но я не уверен, что он присутствует в библиотеке python.GraphViz, найдите кратчайший путь между двумя узлами
Я также хотел бы изменить цвет переднего плана узлов и ребер, которые являются частью этого кратчайшего пути. (.. в синем: p)
from graphviz import Digraph
f = Digraph('Test', filename='fsm.gv')
f.body.extend(['rankdir=LR', 'size="8,5"'])
f.edge('A', 'C')
f.edge('A', 'B')
f.edge('B', 'D')
f.edge('C', 'F')
f.edge('C', 'E')
f.edge('C', 'I')
f.edge('E', 'G')
f.edge('F', 'E')
f.edge('G', 'H')
f.edge('G', 'E')
f.edge('H', 'F')
f.edge('H', 'E')
f.view()
Поиск документации Я не [нашел ссылку] (http://graphviz.readthedocs.io/en/latest/search.html?q=dijkstra&check_keywords=yes&area=default) на «Dijkstra», поэтому он не присутствуют в библиотеке. Отвечает ли это на ваш вопрос? – usr2564301
@RadLexus на половину? Если кто-то здесь уже закодировал алгоритм Dijkstra с GraphViz в Python, я ознакомлен с тем, как он это сделал –