3

私は最終版を見直しており、練習問題の 1 つは、値を Python の二分探索木に入れる関数を実装するよう求めています。これが私が使用している Tree 実装です。

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

これが私が記入する必要がある関数です。

def insert(item, tree):
    """
    >>> t = Tree(5, Tree(1, None, Tree(4)), Tree(7, Tree(6), Tree(8)))
    >>> insert(2, t)
    >>> t
    Tree(5, Tree(1, None, Tree(4, Tree(2), None)), Tree(7, Tree(6), Tree(8)))
    """

どこから始めればよいかわからないので、このコードの実装を手伝ってくれる人はいますか? ありがとう!

4

2 に答える 2

9
def insert(item, tree):
    if (item < tree.entry):
        if (tree.left != None):
            insert(item, tree.left)
        else:
            tree.left = Tree(item)
    else:
        if (tree.right != None):
            insert(item, tree.right)
        else:
            tree.right = Tree(item)
于 2013-05-12T08:41:02.480 に答える