私はPythonでグラフライブラリを構築しようとしています(標準のグラフアルゴリズムと一緒に)。DFSを実装しようとしましたが、これは次のようになります。
def DFS(gr, s, path):
""" Depth first search
Returns a list of nodes "findable" from s """
if s in path: return False
path.append(s)
for each in gr.neighbors(s):
if each not in path:
DFS(gr, each, path)
これは正常に機能していますが、使用方法に満足していません。たとえば、現在これを行う必要があります
path = []
DFS(mygraph, "s", path)
print path
これの代わりに、DFSをこのように使用したい
path = DFS(mygraph, "s")
print path
再帰的なDFSでは、上記のように機能する実装を思い付くことができません。誰かが私にこれをどのように達成することができるかについてのいくつかの指針を与えることができますか?