How to Implement a Binary Search Tree in Python?

77 views

How to Implement a Binary Search Tree in Python?

How to Implement a Binary Search Tree in Python?

What is a binary search tree, and how can it be implemented in Python?

solveurit24@gmail.com Changed status to publish February 20, 2025
0

A binary search tree (BST) is a tree data structure where each node has up to two children, and the value of each node is greater than or equal to the values in its left subtree and less than or equal to the values in its right subtree.

class Node:
    def __init__(self, value):
        self.value = value
        self.left = None
        self.right = None

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

    def insert(self, value):
        if self.root is None:
            self.root = Node(value)
        else:
            self._insert(self.root, value)

    def _insert(self, current_node, value):
        if value <= current_node.value:
            if current_node.left is None:
                current_node.left = Node(value)
            else:
                self._insert(current_node.left, value)
        else:
            if current_node.right is None:
                current_node.right = Node(value)
            else:
                self._insert(current_node.right, value)

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

    def _inorder_traversal(self, node, result):
        if node:
            self._inorder_traversal(node.left, result)
            result.append(node.value)
            self._inorder_traversal(node.right, result)

tree = BST()
tree.insert(5)
tree.insert(3)
tree.insert(7)
print(tree.inorder_traversal())  # Output: [3, 5, 7]

solveurit24@gmail.com Changed status to publish February 20, 2025
0