How to search binary sort tree in python
To search a binary search tree in Python, you can use a recursive function that traverses the tree and compares the value being searched for with the value of each node. If the value being searched for is less than the value of the current node, the function searches the left subtree. If the value being searched for is greater than the value of the current node, the function searches the right subtree. If the value being searched for is equal to the value of the current node, the function returns the node.
Here is an example of how you might implement a search function for a binary search tree in Python:
class Node:
def __init__(self, data=None, left=None, right=None):
self.data = data
self.left = left
self.right = right
class BinarySearchTree:
def __init__(self):
self.root = None
def search(self, data):
def search_node(node, data):
if node is None:
return None
if data == node.data:
return node
if data < node.data:
return search_node(node.left, data)
if data > node.data:
return search_node(node.right, data)
return search_node(self.root, data)
bst = BinarySearchTree()
node1 = Node(1)
node2 = Node(2)
node3 = Node(3)
bst.root = node2
node2.left = node1
node2.right = node3
result = bst.search(1)
print(result.data) # Outputs 1
In this example, the search method takes a data value as input and returns the node with that data value, if it exists in the binary search tree. It does this by calling a helper function `search_node` recursively, passing it the root node of the tree and the data value being searched for. The `search_node` function compares the data value being searched for with the value of the current node, and then either returns the node, searches the left subtree, or searches the right subtree accordingly. If the data value is not found in the tree, the function returns `None`.
0 Comments
if you are not getting it then ask i am glad to help