def eulerian_circuit(graph):
trail = []
for edge in graph:
graph.sort()
a,b = edge
if not trail:
trail.append(a)
trail.append(b)
graph.remove((a,b))
print(graph)
if a == trail[-1]:
trail.append(b)
graph.remove((a,b))
print(graph)
if not graph:
return trail
eulerian_circuit(graph)
return trail,graph
eulerian_circuit([('a','b'), ('b','c'), ('a','f'), ('b','d'), ('d','f'), ('b','e'), ('e','g'), ('c','g'), ('f','g'), ('f','h'), ('g','h')])
私の問題は、私は道= []で先頭にオイラー回路再帰文の
私のトレイルリセット再帰eulerian_circuit(グラフ)を呼び出すとき、ということです。これをどうやって回避するのですか?
(コードは回路解答のために未完成ですが、開始頂点に接続するために1つの端が残っている場合でも実装する必要があります...そして、他のエラーを見つけなければなりません。
をあなたが二回 'eulerian_circuit'呼び出す場合? –
はい、それは問題になるでしょう、私はその機能でトレイルを渡すことをお勧めします。 –