DFS a dhéanann iniúchadh ar ghraf trí dul chomh domhain is féidir ar feadh gach brainse sula ndéantar filleadh. Úsáideann sé stack (go minic an call stack trí athchúrsáil) agus cuairt ar fhull-chonair a bhaint amach sula ndeirtear naisc eile.
An smaoineamh
Ó nód, athchúrsaigh i gcomharsanach neamhthaidhsithe, agus coinnigh ag dul domhain; nuair a bhíonn tú i bhfolach, téigh ar ais agus bain triail as brainse eile.
Sampla
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
