我有一个基于这个网站上的代码实现Dijkstra算法。 我有很多节点(比如10000个),每个节点可以与其他节点有1到3个连接。
这些节点在3D空间中随机生成。 连接也是随机生成的,但总是首先尝试找到最近邻居的连接,然后慢慢增加搜索半径。 每个连接都被赋予距离为1。(我不确定这些是否重要,但这只是背景)
在这种情况下,该算法仅用于找到从起点到所有其他节点的最短跳数,并且对于10,000个节点效果很好。 我遇到的问题是,随着节点数量的增加,比如达到200万个节点时,在构建图形时就会耗尽计算机的所有内存。
有没有人知道实现算法的替代方法来减少内存占用,或者是否有另一个使用更少内存的算法?
这些节点在3D空间中随机生成。 连接也是随机生成的,但总是首先尝试找到最近邻居的连接,然后慢慢增加搜索半径。 每个连接都被赋予距离为1。(我不确定这些是否重要,但这只是背景)
在这种情况下,该算法仅用于找到从起点到所有其他节点的最短跳数,并且对于10,000个节点效果很好。 我遇到的问题是,随着节点数量的增加,比如达到200万个节点时,在构建图形时就会耗尽计算机的所有内存。
有没有人知道实现算法的替代方法来减少内存占用,或者是否有另一个使用更少内存的算法?