让我们假设一个> 25000个节点的完整图。每个节点本质上是一个平面上的一个点。 它有625M的边缘。每条边的长度都应该作为浮点数存储。在巨大的完整图中找到MST的算法
我需要一种算法来找到它的MST(在通常的PC上)。
如果我参加Kruskal算法,它需要所有的边第一排序,但我买不起甚至完全在内存中同时存储的边缘。
如果让我选择Prim算法,这是相当难以评估有多少边缘将在同一时间被存储在一个堆,但可能他们中的大多数将很快算法开始后在那里。
是否有更多的内存,足够的算法,它可以让我避免排序存储在文件中的边缘?
此外,是否有其利用的事实是任何树边满足三角不等式任何已知MST算法?
图表是否完整? 625M只有25000 ** 2。此外,这里http://en.wikipedia.org/wiki/Euclidean_minimum_spanning_tree –
也有库这样的:http://www.mlpack.org/doxygen.php?doc=emst_tutorial.html –
@ZiyaoWei:谢谢,这看起来像我正在寻找的东西。 – Roman