Learn Programming and technology with ease @ developerpublish.com

HomePythonPython Program to Find Minimum and Maximum Element in Binary Search Tree

Python Program to Find Minimum and Maximum Element in Binary Search Tree

Intro

In this program, weâ€™ll create a Python program to find the minimum and maximum elements in a Binary Search Tree (BST). A Binary Search Tree is a binary tree where each node has a value, and for any node, all the values in the left subtree are less than the nodeâ€™s value, and all the values in the right subtree are greater than the nodeâ€™s value.

Problem statement

Given a Binary Search Tree, we need to find the minimum and maximum elements present in the tree.

Python Program to Find Minimum and Maximum Element in Binary Search Tree

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

def find_min(node):
if node is None:
return None
while node.left is not None:
node = node.left
return node.value

def find_max(node):
if node is None:
return None
while node.right is not None:
node = node.right
return node.value

root = TreeNode(8)
root.left = TreeNode(3)
root.right = TreeNode(10)
root.left.left = TreeNode(1)
root.left.right = TreeNode(6)
root.right.right = TreeNode(14)
root.left.right.left = TreeNode(4)
root.left.right.right = TreeNode(7)

print("Minimum element:", find_min(root))
print("Maximum element:", find_max(root))```

How it works

1. We start by defining a `TreeNode` class to create nodes of the Binary Search Tree. Each node has a `value`, `left` child, and `right` child.
2. The `find_min` function takes a node as an argument and traverses to the leftmost node of the tree to find the minimum value.
3. The `find_max` function takes a node as an argument and traverses to the rightmost node of the tree to find the maximum value.
4. In the example tree, we create a BST and then use the `find_min` and `find_max` functions to find and print the minimum and maximum elements.

Input / Output

You May Also Like

Python Program to Remove Duplicates from a Linked List

In this Python program, we will create a singly linked list and remove duplicate elements from it. A linked list...

Python Program to Solve the Celebrity Problem

This Python program solves the Celebrity Problem by finding a person who is known by everyone but does not know...

Python Program to Solve n-Queen Problem with Recursion

This Python program uses a recursive approach to solve the n-Queens problem. It explores all possible combinations of queen placements...