DFS გამოიკვლევს გრაფს თითოეული ტოტის გასწვრივ რაც შეიძლება ღრმად წასვლით, სანამ უკან დაბრუნდება. ის იყენებს სტეკს (ხშირად ზარის სტეკს რეკურსიის მეშვეობით) და ეწვევა სრულ ბილიკს სანამ ალტერნატივებს შეისწავლის.
იდეა
კვანძიდან რეკურსიით შემოდგომილი მეზობელში შესვლა, და ღრმად წასვლის გაგრძელება; როდესაც გარბილია, უკან დაბრუნება და სხვა ტოტის ცდა.
მაგალითი
python
():
visited :
visited = ()
visited.add(node)
order = [node]
nbr graph[node]:
nbr visited:
order += dfs(graph, nbr, visited)
order
graph = {: [, ], : [], : [], : []}
dfs(graph, )
