graph = {'A': ['B', 'C', 'E'],
'B': ['A','D', 'E'],
'C': ['A', 'F', 'G'],
'D': ['B'],
'E': ['A', 'B','D'],
'F': ['C'],
'G': ['C']}
def bfs(graph, initial):
visited = []
queue = [initial]
while queue:
node = queue.pop(0)
if node not in visited:
visited.append(node)
neighbours = graph[node]
for neighbour in neighbours:
queue.append(neighbour)
return visited
print(bfs(graph,'A'))
Z3JhcGggPSB7J0EnOiBbJ0InLCAnQycsICdFJ10sCidCJzogWydBJywnRCcsICdFJ10sCidDJzogWydBJywgJ0YnLCAnRyddLAonRCc6IFsnQiddLAonRSc6IFsnQScsICdCJywnRCddLAonRic6IFsnQyddLAonRyc6IFsnQyddfQpkZWYgYmZzKGdyYXBoLCBpbml0aWFsKToKICB2aXNpdGVkID0gW10KICBxdWV1ZSA9IFtpbml0aWFsXQogIHdoaWxlIHF1ZXVlOgogICAgbm9kZSA9IHF1ZXVlLnBvcCgwKQogICAgaWYgbm9kZSBub3QgaW4gdmlzaXRlZDoKICAgICAgdmlzaXRlZC5hcHBlbmQobm9kZSkKICAgICAgbmVpZ2hib3VycyA9IGdyYXBoW25vZGVdCiAgICAgIGZvciBuZWlnaGJvdXIgaW4gbmVpZ2hib3VyczoKICAgICAgICBxdWV1ZS5hcHBlbmQobmVpZ2hib3VyKQogIHJldHVybiB2aXNpdGVkICAJCnByaW50KGJmcyhncmFwaCwnQScpKQ==