这是我的二叉搜索树实现的代码:
class Tree(Node):
def __init__(self, root):
self.root = root
def find(self, data, root):
if root == None:
return False
wanderer = root
if data == wanderer.data:
return True
elif data > wanderer.data:
return self.find(data, root.right)
else:
return self.find(data, root.left)
return False
def insert(self, data, root):
if root == None:
root = Node(data)
return True
if data > root.data:
return self.insert(data, root.right)
elif data < root.data:
return self.insert(data, root.left)
else:
return False
我的插入方法似乎不起作用,我无法弄清楚它有什么问题。请帮忙。
答案 0 :(得分:0)
root = Node(data)
不将新节点分配回调用者参数root.right
或root.left
。
有关详细信息,请参阅https://nedbatchelder.com/text/names1.html。