【发布时间】:2015-11-28 16:10:20
【问题描述】:
我创建了一个包含元组节点的二叉树。如果元组不在树中,我希望我的插入函数插入,如果插入则返回 True。目前,它似乎正确插入,但没有正确返回 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
有人知道我做错了什么吗? 谢谢!
【问题讨论】:
标签: python-3.x recursion binary-tree