为简单起见,假设我有图表:
O O P O |
O O O O O
O | O | O
O O O O O
A O O O O
我想使用广度优先搜索从 A 到 P 的最短路径,其中由 | 指定的位置 是禁区。我怎样才能达到这个结果?我一直看到用于查找某个位置的广度优先搜索(在这种情况下为 P),但我还没有看到任何用于存储路径距离和计算最短路径距离的实现(也没有有效的方法来存储以前访问过的位置和将他们排除在进一步审查之外)。此外,对于必须很大并且需要大量推送和弹出的图形,通常建议使用什么队列?