DFS onderzoekt een grafiek door zo diep mogelijk langs elke tak te gaan voordat het terugloopt. Het gebruikt een stack (vaak de call stack via recursie) en bezoekt een volledig pad voordat het alternatieven onderzoekt.
Het idee
Van een knooppunt, recursief in een onbezochte buur; blijf diep gaan; wanneer vast, terug en probeer een andere tak.
Voorbeeld
python
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
