DFS एक graph ला प्रत्येक branch वर शक्य तितके खोल जाऊन, नंतर परत येऊन explore करते. हे stack वापरते (सहसा recursion च्या माध्यमातून call stack) आणि एक संपूर्ण path visit करून नंतर इतर पर्याय explore करते.
संकल्पना
एका node वरून, एका unvisited neighbor मध्ये recursively जा, आणि खोलवर जाऊ; जेव्हा अडकून जा, तर परत आणि दुसरी branch वापर.
उदाहरण
python
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
