DFS istražuje graf ideći što je dublje moguće duž svanog grana prije nego što se vrati unazad. Koristi stack (često pozivni stack putem rekurzije) i posjećuje cijelu stazu prije nego što istražuje alternative.
Ideja
Iz čvora, rekurzirajte u neposjetanu susjednu čvornu, i nastavite duboko; kada se zapnete, vratite se i pokušajte drugu granu.
Primjer
python
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
