DFS: Anfang (Python)
Suche tief.DFS
Erkennung tief.
DFS
) ist einer der Hauptalgorithmen auf den Zählungen. Algorithm arbeitet für
O(N + M)
♪
Algorithmen
Für Anfänger beginnen wir von oben, schauen uns die Kinder dieses Tops an, und wenn wir nie reingekommen sind, fangen wir mit ihnen an.
DFS
♪
Problem
Schreiben Sie eine def dfs(v)
-Prozedur, die einen nicht ausgerichteten Graphen vom Anfangsscheitelpunkt S
in die Tiefe umgeht und alle Eckpunkte in der Durchforstungsreihenfolge ab dem Eckpunkt S
durch ein Leerzeichen in einer Zeile ausgibt.
In der ersten Zeile sind drei Zahlen angegeben: N
- die Anzahl der Scheitelpunkte im Diagramm, M
- die Anzahl der Kanten, S
- der Startscheitelpunkt. Die folgenden M
Zeilen enthalten 2 Variablen U
i
und Vi
, die die Kanten des Diagramms beschreiben. Alle Zahlen in den Eingaben überschreiten 1000 nicht.
Geben Sie alle Stützpunkte in der durchforsteten Reihenfolge durch denDFS
-Algorithmus aus.
Im obigen Programm bedeutetV[i][j]
, dass es eine Kante zwischen den Eckpunkten i
und j
gibt, und im Array Visited
markieren wir, ob wir diesen Eckpunkt erreicht haben.
Verwenden Sie 4 Leerzeichen, um die Einrückung anzugeben.