From 3ef3df6022de5bfbdbdf58d7a802fd58c99b7a5f Mon Sep 17 00:00:00 2001 From: rpjayasekara Date: Mon, 22 Oct 2018 23:45:37 +0530 Subject: [PATCH] added binary tree in java --- Graphs/BinaryTree/java/binaryTree.java | 82 ++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Graphs/BinaryTree/java/binaryTree.java diff --git a/Graphs/BinaryTree/java/binaryTree.java b/Graphs/BinaryTree/java/binaryTree.java new file mode 100644 index 000000000..04fa8396f --- /dev/null +++ b/Graphs/BinaryTree/java/binaryTree.java @@ -0,0 +1,82 @@ +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 Program to test above functions + 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(); + } +} +// This code is contributed by Ankur Narain Verma \ No newline at end of file