この本で説明されている二分木を使用して、 アルゴリズムとデータ構造で問題を解決しています
class BinaryTree:
def __init__(self,rootObj):
self.key = rootObj
self.leftChild = None
self.rightChild = None
次のように定義された preorder traversal メソッドが既にあります。
def preorder(tree):
if tree:
print(tree.self.key)
preorder(tree.getLeftChild())
preorder(tree.getRightChild())
訪問したノードのリストの戻り値を追加したいだけです。だから私は次のようなことができます
for i in preorder(tree):
etc...
再帰メソッドからリストを返すのに問題があります。「リターン」に到達するとすぐに再帰が停止します
return [tree.self.key] + preorder()
または
yield ...
何か案は?