我有一个无向且未加权的图,其节点为 ~10^6 个节点 - 以矩阵格式可视化。 下图的示例表示。
红色格子被挡住了。
我的问题是找到最短距离 b/w 任何两个网格 - t源和目标网格将即时出现,在最坏的情况下 - 一个接一个 - 将询问所有对最短路径。
我试过 Floyd-warshall - 占用太多内存,所有节点的 dijkstra - 太慢了。
还有其他方法吗? 由于它只是一个统一矩阵,我认为可能存在一些我不知道的模式。 这是否可以以某种方式缓存,以便已经遍历的 bfs 可以从中间点开始,而不是再次从头开始?
A* 可以工作但仍然很慢 - 如果需要找到所有对最短路径。
任何图书馆也会有帮助