From e7df62c19ef4611f77a138e20f961d4e0389c101 Mon Sep 17 00:00:00 2001 From: Krishna Pal Deora <47516664+krishnapalS@users.noreply.github.com> Date: Tue, 12 Oct 2021 22:04:56 +0530 Subject: [PATCH] Create BST.java --- BST.java | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 BST.java diff --git a/BST.java b/BST.java new file mode 100644 index 0000000..7266606 --- /dev/null +++ b/BST.java @@ -0,0 +1,99 @@ +// Java program to demonstrate +// insert operation in binary +// search tree +class BinarySearchTree { + + /* Class containing left + and right child of current node + * and key value*/ + class Node + { + int key; + Node left, right; + + public Node(int item) + { + key = item; + left = right = null; + } + } + + // Root of BST + Node root; + + // Constructor + BinarySearchTree() + { + root = null; + } + + // This method mainly calls insertRec() + void insert(int key) + { + root = insertRec(root, key); + } + + /* A recursive function to + insert a new key in BST */ + Node insertRec(Node root, int key) + { + + /* If the tree is empty, + return a new node */ + if (root == null) + { + root = new Node(key); + return root; + } + + /* Otherwise, recur down the tree */ + if (key < root.key) + root.left = insertRec(root.left, key); + else if (key > root.key) + root.right = insertRec(root.right, key); + + /* return the (unchanged) node pointer */ + return root; + } + + // This method mainly calls InorderRec() + void inorder() + { + inorderRec(root); + } + + // A utility function to + // do inorder traversal of BST + void inorderRec(Node root) + { + if (root != null) { + inorderRec(root.left); + System.out.println(root.key); + inorderRec(root.right); + } + } + + // Driver Code + public static void main(String[] args) + { + BinarySearchTree tree = new BinarySearchTree(); + + /* Let us create following BST + 50 + / \ + 30 70 + / \ / \ + 20 40 60 80 */ + tree.insert(50); + tree.insert(30); + tree.insert(20); + tree.insert(40); + tree.insert(70); + tree.insert(60); + tree.insert(80); + + // print inorder traversal of the BST + tree.inorder(); + } +} +