G = {
'A' : ['B','D','E'],
'B' : ['A','C'],
'C' : ['B','D'],
'D' : ['A','C','E'],
'E' : ['A','D','G','F'],
'F' : ['E','G'],
'G' : ['E','F','H'],
'H' : ['G']
}
sortie = []
pile = []
pile.append('A')
while pile:
S = pile.pop() # Utilise pop pour dépiler
if S not in sortie:
sortie.append(S)
non_visites = [n for n in G[S] if n not in sortie]
pile.extend(non_visites)
print(sortie)