DFS huchunguza grafu kwa kuenda kwa kina kadiri iwezekanavyo kwenye kila tawi kabla ya kurudi nyuma. Inatumia stack (mara nyingi call stack kupitia rekureni) na huboresha njia kamili kabla ya kuchunguza mbadala.
Wazo
Kutoka kwa nodi, rekursa ndani ya jibu ambalo halijatembeani, na endelea kwa kina; wakati umekwama, rudi nyuma na jaribu tawi lingine.
Mfano
python
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
