如何构建一个二叉树,如果成功插入 return 在 python 中为真

How to build a binary tree that if inserted succefully return True in python

我创建了一个包含元组节点的二叉树。如果元组不在树中,我希望我的插入函数插入,如果插入则 return True。目前,它似乎正确地正确插入,但它没有正确地 returning bool 值。

class D_1_tuple_tree(): #binary Tree

def __init__(self,data=None):
    self.left = None
    self.right = None
    self.data = data

def insert(self,data): #insert Function
    if data==self.data:
        return False
    if self.data:
        if isinstance(data,tuple): #if tuple of size > 1
            tuple_lens=len(data)
            for i in range(0,tuple_lens):
                if data[i]!=self.data[i]:
                    if data[i]<self.data[i]:
                        if self.left is None:
                            self.left = D_1_tuple_tree(data)
                            return True
                        else:
                            self.left.insert(data)
                    elif data[i] > self.data[i]:
                        if self.right is None:
                            self.right = D_1_tuple_tree(data)
                            return True
                        else:
                            self.right.insert(data)


        else: #tuple of size 1
            if data!=self.data:
                if data<self.data:
                    if self.left is None:
                        self.left = D_1_tuple_tree(data)
                        return True
                    else:
                        self.left.insert(data)
                elif data > self.data:
                    if self.right is None:
                        self.right = D_1_tuple_tree(data)
                        return True
                    else:
                        self.right.insert(data)
                else:
                    return False

    else:
        self.data=data
        return True

有人知道我做错了什么吗? 谢谢!

您忘记了 return 您的递归结果,例如return self.left.insert(data).