2009-05-01 5 views
2

Ich habe ein bisschen eine Quandry versucht, mit einem guten Algorithmus zu kommen, um die folgende Grafik zu navigieren.Graph Navigation mit C#

alt text http://www.archimedesinc.biz/images/StackOverflow/Tree.jpg

Wenn ein Benutzer „Table 21“ als Ausgangspunkt wählt, muß ich die Lage sein, den Weg zu einer anderen Tabelle aus diesem Ausgang Tisch zu bekommen.

EX: Wenn der Benutzer "Table 21" als Start wählt und fügt dann einen Wert von "Tabelle 8", ich brauche den folgenden Pfad "Tabelle 21 erstellen ->Tabelle 12 ->Tabelle 9 ->Tabelle 6 ->Tabelle 8 "sind alle Gewichte zwischen den Tabellen gleich.

Ich habe meine Fähigkeiten im Umgang mit gerichteten Graphen vergessen und kann mir keinen guten Algorithmus vorstellen. Ich frage nicht nach einer Lösung, sondern nur nach einem Schub in die richtige Richtung.

Vielen Dank!

Antwort

3

Da sagte man die Kanten alle aus dem gleichen Gewicht, Dijkstra's algorithm (meine übliche erste Wahl für diese Art der Sache) verschlechtert nur breadth first search so I schlage vor, das zur Vereinfachung zu verwenden.

1

Sie können aus einer Reihe von Algorithmen den kürzesten Pfad bestimmen. QuickGraph ist gut in dieser Art von Sache.