@markcpp

Как сделать поиск кратчайшего пути на графе по массиву данных?

Есть неориентированный граф:
5ca395793c2e2851732106.png
Можно ли (не важно каким методом) найти кратчайшие пути х1 -> х5 на графе используя массив данных ? Где x1..x2 значения из таблицы:
5ca3962d4c92d428342588.png
А в ответе получить таблицу путей:
5ca396606f65b721045253.png
  • Вопрос задан
  • 2237 просмотров
Пригласить эксперта
Ответы на вопрос 2
@dmshar
Блин, народ, вы че, уже Google пользоваться разучились или попросту лень*?
Первая-же ссылка дает богатейшую пищу для мозгов:
https://habr.com/ru/post/119158/
А если чуть-чуть напрячь мозг и прочитать то, что написанопо следующим трем-четырем ссылкам, то можно уже будет из себя представлять крутого специалиста.
Если надо "просто загрузить массив и получить ответ", то таких возможностей довольно много, вот например, один из них:
https://github.com/pmatiello/python-graph

А вообще, алгоритм поиска кратчайшего пути в графе изучается на любой специальности, хоть немного связанной с ИТ.
Ответ написан
Комментировать
LaRN
@LaRN
Senior Developer
Судя по нарисованному графу, тут есть два варианта пути:
1. х1-х2-х5
2. х1-х3-х4-х5
Из этих двух нужно выбрать меньший.

Ребро х2-х3 нужно исключить, т.к. в треугольнике х1-х2-х3 всегда выгоднее выбирать одну из сторон х1-х3 или
х1-х2, чем две стороны (х1-х2 + х2-х3 или х1-х3 + х3-х2).

Зная это, простым сложением по вашей таблице легко найти ответ.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы