algorithm - Dijkstra 图,最短路径

标签 algorithm graph language-agnostic dijkstra

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

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

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

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

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

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

最佳答案

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

关于algorithm - Dijkstra 图,最短路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24264130/

相关文章:

algorithm - 基于字符的布隆过滤器

algorithm - 排序后的数组旋转K次后如何确定某个位置的值?

algorithm - 按最大值和 ID 检索的最佳数据结构?

c++ - 什么是正确的 std::set_union 代码?

javascript - 在 D3 条形图中,y 轴序数比例未与条形正确对齐

algorithm - 如何可视化音频数据?

language-agnostic - 程序性军鼓

algorithm - 为运行时间为 O(k(|V|+|E|)) 的单源最短路径问题设计一个算法

c - 顶点两次进入 DFS 堆栈

php - 组合与继承依赖注入(inject)