DFS ஒரு வரைபடத்தை ஆராய்கிறது, ஒவ்வொரு கிளையிலும் முடிந்தளவு ஆழமாகச் சென்று பின்னர் பின்னோக்கி வருகிறது. இது stack (பெரும்பாலும் சுழல்நிறுத்தல் மூலம் அழைப்பு stack) ஐப் பயன்படுத்துகிறது மற்றும் மாற்றுகளை ஆராய்வதற்கு முன் முழு பாதையை வருகிறது.
ஆக்கம்
ஒரு முனையிலிருந்து, ஆராயப்படாத அண்டையில் சுழல்நிறுத்தல் செய்து, ஆழமாகச் செல்லவும்; சிக்கிக்கொண்டால், மீண்டு வரவும் மற்றொரு கிளையை முயற்சிக்கவும்.
எடுத்துக்காட்டு
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
