'C' : ['B','D'] , 'D' : ['A','C','E'] , 'E' : ['A','D','G','F'] , 'F' : ['E','G'] , 'G' : ['E','F','H'] , 'H' : ['G'] } sortie = [] file = deque() file.append('A') while file: S = file.popleft() if S not in sortie: sortie.append(S) unvisited = [n for n in G[S] if n not in sortie] file.extend(unvisited) print(sortie)