0

指定された (M, F) - 特定のプロセスのすべてのステップで、タプルは (M + F, F) または (M, M + F) のいずれかになります。したがって、(1, 1) から始めると、次のことが可能です。

ここに画像の説明を入力 木を描くときに私が従ったアルゴリズムは -

If not root, 
left_ child = (parent0 + parent1, parent1)

and right_child = (parent0, parent0 + parent1)

ここで、parent0 は親タプルの最初の要素を参照し、parent1 は 2 番目の要素を参照しています。

M と F に開始値が与えられた n ステップの後にツリーを作成するための上記のアルゴリズムに従うツリーを作成する方法については、完全にわかりません。

オンラインで検索することにしたとき、次のようなものが得られました。

class Tree(object):
    def __init__(self):
        self.left = None
        self.right = None
        self.data = None

root = Tree()
root.data = "root"
root.left = Tree()
root.left.data = "left"
root.right = Tree()
root.right.data = "right"

また

class Tree:
    def __init__(self, cargo, left=None, right=None):
        self.cargo = cargo
        self.left  = left
        self.right = right

    def __str__(self):
        return str(self.cargo)

tree = Tree(1, Tree(2), Tree(3))

上記のコードを使用して、必要な状態空間ツリーを構築する方法が思いつきませんでした。つまり、与えられた入力が (M, F) で、プロセスのステップ数 (つまり、ツリーのレベル数) である n の場合に、計算された値でサブツリーを自動的に作成するツリーを実装するにはどうすればよいでしょうか。

4

1 に答える 1