2016-06-26 15 views

Antwort

-1

pathlen ist nur eine Membervariable. Stellen Sie sich das wie die Syntax für den Zugriff auf eine öffentliche Variable einer Java-Klasse vor.

Die Pfeil-Syntax ist eine Syntax für die Zuweisung, das Äquivalent von Java's "=". Es bedeutet "nimm das Ding auf der rechten Seite und weise das Ding auf der linken Seite diesem Wert zu."

0

1) Iterieren Sie durch jeden Scheitel des Graphen g und markieren Sie einen Boolean als nicht besucht.

2) Initialisieren Sie eine Warteschlange von Vertices.

3) Markieren und deklarieren Sie den Startknoten als besucht.

4) Legen Sie die Länge des Pfads zum Startknoten als 0 fest. Dies wäre eine ganzzahlige Feldvariable in der Vertex-Klasse.

5) Fügen Sie den ersten Knoten zur Warteschlange hinzu.

6) Während die Warteschlange nicht leer ist, wiederholen Sie Folgendes.

7) Entfernen Sie den Kopfknoten aus der Warteschlange.

8) Für jede Kante, die an den von Ihnen entfernten Scheitelpunkt angrenzt, würden Sie die Adjazenzliste oder Matrix in der Grafik durchgehen und nach Kanten suchen, die sich in der Nähe befinden.

9) Wenn die Boolsche Variable des Knotens, so dass der Ziel-Rand nicht besucht wird, dann gilt:

10) In dem Ziel, zu der Warteschlange des Randes.

11) Markieren Sie den Zielknoten von der Kante wie besucht.

12) Fügen Sie einen Wert zur Länge des Pfads am Knoten der Kante hinzu, über dem Randgewicht des Startknotens.

Hinweis: Wenn Sie ein gewichtetes Diagramm haben, können Sie in Schritt 12 etwas anderes als +1 tun. Sie sollten das BFS jedoch nicht beenden, bis es auf allen Knoten ausgeführt wird, wenn Sie es gewichtet haben.