DFS एक ग्राफ की खोज करता है जो बैकट्रैकिंग से पहले प्रत्येक शाखा के साथ जितना संभव हो उतना गहरा जाता है। यह एक stack (अक्सर recursion के माध्यम से कॉल स्टैक) का उपयोग करता है और विकल्प खोजने से पहले एक पूरे पथ पर जाता है।
विचार
एक नोड से, एक अदेखे पड़ोसी में recursion करें, और गहरा जाते रहें; जब फंस जाएं, तो पीछे हटें और दूसरी शाखा का प्रयास करें।
उदाहरण
python
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
