DFS يستكشف الرسم البياني بالذهاب بأعمق ما يمكن على طول كل فرع قبل العودة للخلف. يستخدم مكدس (غالباً مكدس الاستدعاء عبر التكرار العودي) ويزور المسار الكامل قبل استكشاف البدائل.
الفكرة
من عقدة، قم بالتكرار العودي إلى جار غير مزار، واستمر بالذهاب بعمق؛ عند الوقوع في طريق مسدود، عد للخلف وجرب فرعاً آخر.
مثال
python
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
