DFS tyrinėja grafą einant kuo giliau kiekviena šaka, kol grįžtama atgal. Jis naudoja steką (dažnai rekursijos steką) ir aplanko visą kelią prieš tyrinėdamas alternatyvas.
Idėja
Iš mazgo rekursyviai eina į neaplankytą kaimyną ir tęsia gilumoje; kai застревает, grįžta atgal ir bando kitą šaką.
Pavyzdys
python
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
