В принципе, в графе, где веса являются евклидовым расстоянием, что-то вроде алгоритма Дейкстры действительно необходимо или является прямым путем к вашему месту назначения, всегда кратчайшему?Для положительных весовых графов, в каком случае самый прямой путь не самый короткий?
Я действительно прошу дать общий ответ на этот вопрос, однако я думаю, что это всегда верно для случая, приведенного ниже.
==================================
Я почти на 100% уверен, что это так, если ребра образуют правильные многоугольники.
Эти пути не имеют мертвых концов, т. Е. Существует какой-либо путь от любой вершины v1
к любой другой вершине v2
.
Правильный многоугольник Я имею в виду, что граф образован граничным соединением правильных многоугольников n
вершин, не создавая при этом других полигонов.
n = 5
. .
. .
. .
. .
. .
. .
. .
n = 4
. . . .
. . . . .
. . .
. .
n = 3
. . .
. . . . . .
. . . . . .
Можете ли вы рассказать о том, что вы подразумеваете под «если края образуют правильные многоугольники»? Кажется, что у вас очень ограниченный тип графа, для которого более простой подход, чем Dijkstra, может быть очень оптимальным. В общем, на графиках с евклидовым расстоянием жадный подход может быть не оптимальным (например, жадный выбор может привести к тупику). –
В этом случае нет мертвых концов, все пути в конечном итоге приводят к месту назначения. – KthProg
Разве не ваш случай n = 3 встречный пример? Путь от верхнего левого до нижнего правого будет длиннее, если сначала он опустится вниз. – xan