0% found this document useful (0 votes)
7 views

Binary Search Tree

Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Binary Search Tree

Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 1

class TreeNode:

def __init__(self, key):


self.val = key
self.left = None
self.right = None

class BST:
def __init__(self):
self.root = None

def insert(self, key):


if not self.root:
self.root = TreeNode(key)
else:
self._insert_recursive(self.root, key)

def _insert_recursive(self, node, key):


if key < node.val:
if node.left:
self._insert_recursive(node.left, key)
else:
node.left = TreeNode(key)
else:
if node.right:
self._insert_recursive(node.right, key)
else:
node.right = TreeNode(key)

def search(self, key):


return self._search_recursive(self.root, key)

def _search_recursive(self, node, key):


if not node or node.val == key:
return node
if key < node.val:
return self._search_recursive(node.left, key)
return self._search_recursive(node.right, key)

def inorder_traversal(self):
result = []
self._inorder_traversal_recursive(self.root, result)

You might also like