我有一个 Dijkstra 算法的实现,基于这个网站上的代码。基本上,我有许多节点(比如 10000 个),每个节点可以有 1 到 3 个与其他节点的连接。
节点在 3d 空间内随机生成。连接也是随机生成的,但是它总是首先尝试找到与其最近邻居的连接,然后慢慢增加搜索半径。每个连接的距离为 1。(我怀疑这是否重要,但这只是背景)。
在这种情况下,该算法仅用于查找从起点到所有其他节点的最短跳数。它适用于 10,000 个节点。我遇到的问题是,随着节点数量的增加,比如接近 200 万,我在尝试构建图表时用尽了我所有的计算机内存。
有谁知道实现算法以减少内存占用的替代方法,或者是否有另一种使用更少内存的算法?