class BinaryTreeNode:
def __init__(self, data=None):
self.data = data
self.left = None
self.right = None
def __str__(self):
return str(self.data)
class BinarySearchTree:
def __init__(self, root = None):
self.root = BinaryTreeNode()
self.count = 0
def __str__(self):
return str(self.inOrder())
# insert
def insert(self, data):
self.root = self.recursiveInsert(data, self.root)
self.count+=1
def recursiveInsert(self, data, node):
if node is None:
node = BinaryTreeNode(data)
else:
if data < node.data:
if node.left is None:
node.left = data
else:
self.recursiveInsert(data,node.right)
else:
if node.right is None:
node.right = data
else:
self.recursiveInsert(data,node.left)
bst = BinarySearchTree()
bst.insert(5)
我得到的错误是:
in <module> bst.insert(5)
line 15, in insert self.root = self.recursiveInsert(data, self.root)
if data < node.data:
TypeError: '<' not supported between instances of 'int' and 'NoneType'