DFS eksploron një graf duke shkuar sa më thellë që mundëson përgjatë secilës degë përpara se të tërhiqet. Përdor një stack (shpesh stack-un e thirrjeve përmes rekursionit) dhe vizitues një rrugë të plotë përpara se të eksplorojë alternativat.
Ideja
Nga një nyje, recursi në një fqinj të pavizituar, dhe vazhdo thellë; kur je bllokuar, tërhiqu dhe provo një degë tjetër.
Shembull
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
