dfs in aiml

def dfs_recursive(graph, node, visited=None):

    if visited is None:

        visited = set()

    if node not in visited:

        print(node)

        visited.add(node)

        for neighbor in graph[node]:

            dfs_recursive(graph, neighbor, visited)

def main():

    graph = {}

    edges = int(input(“Enter number of edges: “))

    for _ in range(edges):

        u, v = input(“Enter edge (u v): “).split()

        if u not in graph:

            graph[u] = []

        if v not in graph:

            graph[v] = []

        graph[u].append(v)  # Directed graph

    start_node = input(“Enter starting node for DFS: “)

    print(“\nDFS Recursive:”)

    dfs_recursive(graph, start_node)

if __name__ == “__main__”:

    main()

Scroll to Top