ループを反復してバイナリツリーを作成します。私は非常に基本的なバイナリツリーを書く方法を知っています。ループを介してバイナリツリーを作成する
class Tree(object):
def __init__(self):
self.left = None
self.right = None
self.data = None
root = Tree()
root.data = 75
root.left = Tree()
root.left.data = 95
root.right = Tree()
root.right.data = 64
root.left.left = Tree()
root.left.left.data = 32
root.left.right = Tree()
root.left.right.data = 93
root.left.left = Tree()
root.right.left.data = 32
root.left.right = Tree()
root.right.right.data = 93
print(root.data)
これをhandtyping退屈である、と私は番号のリストを持っていた場合:
list = [1,2,3,4,5,6,7]
ので、この順番でバイナリツリーを作成するために、ループを通してそれを置く:
1
2 3
4 5 6 7
どうすればいいですか?私はすべてのパスの合計を計算するためにこれを使用していますのでと、どのようにバイナリツリーを反復処理/ナビゲートします:
ノード5は2または3、またはそれらの両方にノードに属していますか? –
[this](https://stackoverflow.com/questions/2598437/how-to-implement-a-binary-tree)に関連する。しかし、OPはツリーを作成するプロセスを自動化したいので、完全なdupではありません。 –
現在のツリーの高さを追跡する必要があります。 –