graph = {'5' : ['3','7'],'3' : ['2', '4'],'7' : ['8'],'2' : [],'4' : ['8'],'8' : []}
visited = set()
def dfs(visited, graph, node):
if node not in visited:
print (node)
visited.add(node)
for neighbour in graph[node]:
dfs(visited, graph, neighbour)
print("Following is the Depth-First Search")
dfs(visited, graph, '5')
Z3JhcGggPSB7JzUnIDogWyczJywnNyddLCczJyA6IFsnMicsICc0J10sJzcnIDogWyc4J10sJzInIDogW10sJzQnIDogWyc4J10sJzgnIDogW119CnZpc2l0ZWQgPSBzZXQoKQpkZWYgZGZzKHZpc2l0ZWQsIGdyYXBoLCBub2RlKToKaWYgbm9kZSBub3QgaW4gdmlzaXRlZDoKcHJpbnQgKG5vZGUpCnZpc2l0ZWQuYWRkKG5vZGUpCmZvciBuZWlnaGJvdXIgaW4gZ3JhcGhbbm9kZV06CmRmcyh2aXNpdGVkLCBncmFwaCwgbmVpZ2hib3VyKQpwcmludCgiRm9sbG93aW5nIGlzIHRoZSBEZXB0aC1GaXJzdCBTZWFyY2giKQpkZnModmlzaXRlZCwgZ3JhcGgsICc1Jyk=
graph = {'5' : ['3','7'],'3' : ['2', '4'],'7' : ['8'],'2' : [],'4' : ['8'],'8' : []}
visited = set()
def dfs(visited, graph, node):
if node not in visited:
print (node)
visited.add(node)
for neighbour in graph[node]:
dfs(visited, graph, neighbour)
print("Following is the Depth-First Search")
dfs(visited, graph, '5')