DFS menjelajahi grafik dengan pergi sedalam mungkin di sepanjang setiap cabang sebelum mundur. Menggunakan stack (sering call stack melalui recursion) dan mengunjungi seluruh jalur sebelum menjelajahi alternatif.
Ide
Dari node, recurse ke tetangga yang belum dikunjungi, dan terus pergi dalam; ketika terjebak, mundur dan coba cabang lain.
Contoh
python
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
