I'm trying to implement a class instance of a Binary Search Tree, but I think there's something wrong with my insert function.
Node class:
class Node:
def __init__(self, data):
self.data = data
self.left = None
self.right = None
BST class:
class BST:
def __init__(self):
self.root = None
def insert(self, node):
def helper(current, node):
if current is None:
current = node
else:
if node.data < current.data:
helper(current.left, node)
elif node.data > current.data:
helper(current.right, node)
return helper(self.root, node)
def inorder(self, current):
if current:
self.inorder(current.left)
print(current.data)
self.inorder(current.right)
Functions I'm calling:
tree = BST()
tree.root = Node(3)
tree.insert(Node(2))
tree.insert(Node(7))
tree.insert(Node(9))
tree.insert(Node(7))
tree.insert(Node(4))
tree.insert(Node(89))
tree.insert(Node(6))
tree.insert(Node(2))
tree.inorder(tree.root)