DFS గ్రాఫ్ను అన్వేషిస్తుంది, ప్రతి శాఖ వెంట సాధ్యమైనంత లోతుగా వెళ్లి, ఆ తర్వాత వెనక్కి రాకుండా. ఇది stack (తరచుగా పునరావృత్తి ద్వారా కాల్ స్టాక్) ను ఉపయోగిస్తుంది మరియు ప్రత్యామ్నాయాలను అన్వేషించే ముందు పూర్తి మార్గాన్ని సందర్శిస్తుంది.
ఆలోచన
ఒక నోడ్ నుండి, సందర్శించని పొరుగువారిలోకి పునరావృత్తి చేయండి, మరియు లోతుగా కొనసాగండి; చిక్కుకుపోయినప్పుడు, వెనక్కి రండి మరియు మరొక శాఖను ప్రయత్నించండి.
ఉదాహరణ
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
