任意の分岐係数を持つツリーでノードを見つけるのに苦労しています。各ノードはデータを運び、ゼロ以上の子を持ちます。search メソッドは Node クラス内にあり、その Node がデータを運ぶかどうかを確認してから、その Node のすべての子を確認します。再帰メソッドで無限ループになってしまいますが、何か助けはありますか?
def find(self, x):
_level = [self]
_nextlevel = []
if _level == []:
return None
else:
for node in _level:
if node.data is x:
return node
_nextlevel += node.children
_level = _nextlevel
return self.find(x) + _level
find メソッドは Node クラスにあり、メソッドが呼び出されたノードにデータ x があるかどうかをチェックし、そのノードのすべての子をチェックします。私は無限ループを取得し続けます。この時点で本当に立ち往生しています。洞察をいただければ幸いです。