# Algorithm: Depth-First Search (DFS) # Type: Graph Traversal, Recursive/Stack-based # Time Complexity: O(V + E) where V = vertices, E = edges # Space Complexity: O(V) for recursion stack or explicit stack function DFS(graph, start): create visited set function dfs_visit(node): mark node as visited for each neighbor in graph[node]: if neighbor not visited: dfs_visit(neighbor) dfs_visit(start)