2010-11-22 12 views

Antwort

2

Ich werde einen Punkt zugunsten von Prims Algorithmus hinzufügen, den ich nicht erwähnt habe. Wenn Sie N Punkte und eine Abstandsfunktion d (x, y) für den Abstand zwischen x und y erhalten, ist es einfach, Prims Algorithmus unter Verwendung des Raums O (N) (aber Zeit N^2) zu implementieren.

Beginnen Sie mit einem beliebigen Punkt A und erstellen Sie ein Array der Größe N-1, das Ihnen die Abstände von A zu allen anderen Punkten gibt. Wählen Sie den Punkt B, der der kürzesten Entfernung zugeordnet ist, verknüpfen Sie A und B im Spannbaum und aktualisieren Sie dann die Abstände im Array auf das Minimum der bereits notierten Entfernung bis zu diesem anderen Punkt und den Abstand von B Ot Punkt, notieren Sie, wo die kürzeste Verbindung von B ist und wo von A. Fahren Sie fort.

Ich kenne keinen ähnlichen Weg, Kruskals Algorithmus für einen dichten Graph zu behandeln, der durch eine Abstandsfunktion spezifiziert ist, und für große N kann der Raum O (N^2) leer sein, bevor Ihnen die Zeit ausgeht O (N^2).