Last modified: June 17, 2025
Depth-First Search
Algorithm for searching a graph
depth = vertical before horizontal
A
/ \
B C
/ \ \
D E F
def dfs(graph, start, visited=None):
if visited is None:
visited = set()
visited.add(start)
print(start)
for neighbor in graph[start]:
if neighbor not in visited:
dfs(graph, neighbor, visited)
Time Complexity = O(V + E)