Dijkstra图,最短路径

时间:2014-06-17 12:42:40

标签: algorithm graph language-agnostic dijkstra

我的图表有问题。我的图表如下所示:

http://i62.tinypic.com/wi82ep.png

真正的问题是:我想找到两点之间“转弯”次数最少的路径。这是一个例子:

http://i57.tinypic.com/wbezk3.png

在这张图中我绘制了一个简单的3x3图形,红点和蓝点之间的最短路径是绿线,因为它只有一个转弯,而粉红线有3转。

我想相应地权衡图表的边缘,然后使用Dijsktra的算法找到合适的路径

1 个答案:

答案 0 :(得分:0)

解决方案的关键是权衡“转”操作成本高。实际上,任何大于W + H的值都可用。 虽然,我猜你是否需要修改你的问题?如果图形的所有单元格都可用,则两个点之间的最短路径显然是唯一的,无需像Dijsktra那样调用最短路径算法。如果他们在同一条线上,只要直线,如果不是,只需要一转。所以我建议你添加一些条件,例如,有些点无法访问,那么这个问题就变得很有趣了。