【发布时间】:2016-07-22 17:11:33
【问题描述】:
我知道有一些算法可以找到两点之间的最短路径,例如How to calculate the shortest path between two points in a grid中回答的算法。
但是,现在,我有一个N * M 网格,其中行从 0 到 N - 1,列从 0 到 M - 1,其中每个网格都包含障碍物(或者您可以将其视为两个之间的距离网格)。例如,我下面有一个 4 * 4 的网格:
5 7 8 2
2 7 4 3
6 4 3 2
5 7 2 5
我想找到左上角和底行之间的最短距离,即(0, 0)和(X, 3)之间,其中X可以是0到3之间的任何数字。
我可以找出(0, 0) -> (0, 3) 到(0, 0) -> (3, 3) 之间的每条最短路径,但这可能太慢了。有没有更有效的算法/方法来解决这个问题?
【问题讨论】:
标签: algorithm graph shortest-path