Nehmen wir einen vollständigen Graphen von> 25000 Knoten an. Jeder Knoten ist im Wesentlichen ein Punkt in einer Ebene. Es hat 625M Kanten. Jede Kante hat eine Länge, die als Gleitkommazahl gespeichert werden sollte.Algorithmus, um MST in einem riesigen vollständigen Graph zu finden
Ich brauche einen Algorithmus, um seine MST (auf einem üblichen PC) zu finden.
Wenn ich Kruskals Algorithmus nehme, muss er zuerst alle Kanten sortieren, aber ich kann es mir nicht einmal leisten, die Kanten zusammen im Speicher zur gleichen Zeit zu speichern.
Wenn ich Prims Algorithmus wähle, ist es ziemlich schwierig zu bewerten, wie viele Kanten gleichzeitig in einem Haufen gespeichert werden, aber wahrscheinlich werden die meisten von ihnen sehr bald nach dem Algorithmusstart da sein.
Gibt es einen speichergenauen Algorithmus, mit dem ich die in einer Datei gespeicherten Kanten vermeiden kann?
Gibt es auch bekannte MST-Algorithmen, die die Tatsache nutzen, dass irgendwelche Baumkanten Dreiecksungleichheit erfüllen?
Ist die Grafik vollständig? 625M ist nur 25000 ** 2. Auch hier http://en.wikipedia.org/wiki/Euclidean_minimum_spanning_tree –
Es gibt auch eine Bibliothek dafür: http://www.mlpack.org/doxygen.php?doc=emst_tutorial.html –
@ZiyaoWei: Danke, es sieht so aus, wie ich gesucht habe. – Roman