This is a Java Program to implement Binomial Tree.
Here is the source code of the Java program to implement Binomial Tree. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
/** * Java Program to Implement Binomial Tree **/ import java.util.*; /** Class BinoNode **/ class BinoNode { int data; int numNodes; BinoNode arr[]; /** Constructor **/ public BinoNode(int k) { data = -1; numNodes = k; arr = new BinoNode[numNodes]; } } /** Class BinomialTree **/ class BinomialTree { private BinoNode root; private int order, size; /** Constructor **/ public BinomialTree(int k) { size = 0; order = k; root = new BinoNode(order); createTree(root); } /** Function to create a tree **/ private void createTree(BinoNode r) { int n = r.numNodes; if (n == 0) return; for (int i = 0; i < n; i++) { r.arr[i] = new BinoNode(i); createTree(r.arr[i]); } } /** Function to clear tree **/ public void clear() { size = 0; root = new BinoNode(order); createTree(root); } /** Function to check if tree is empty **/ public boolean isEmpty() { return size == 0; } /** Function to get size of tree **/ public int getSize() { return size; } /** Function to insert a value **/ public void insert(int val) { try { insert(root, val); } catch (Exception e) { } } /** Function to insert a value **/ private void insert(BinoNode r, int val) throws Exception { if (r.data == -1) { r.data = val; size++; throw new Exception("inserted !"); } int n = r.numNodes; for (int i = 0; i < n; i++) insert(r.arr[i], val); } /** Function to print tree **/ public void printTree() { System.out.print("\nBinomial Tree = "); printTree(root); System.out.println(); } /** Function to print tree **/ private void printTree(BinoNode r) { if (r.data != -1) System.out.print(r.data +" "); int n = r.numNodes; if (n == 0) return; for (int i = 0; i < n; i++) printTree(r.arr[i]); } } public class BinomialTreeTest { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("Binomial Tree Test\n"); System.out.println("\nEnter order of binomial tree"); /** Creating object of Binomial tree **/ BinomialTree bt = new BinomialTree(scan.nextInt()); char ch; /** Perform tree operations **/ do { System.out.println("\nBinomial Tree Operations\n"); System.out.println("1. insert "); System.out.println("2. size"); System.out.println("3. check empty"); System.out.println("4. clear"); int choice = scan.nextInt(); switch (choice) { case 1 : System.out.println("Enter integer element to insert"); bt.insert( scan.nextInt() ); break; case 2 : System.out.println("Nodes = "+ bt.getSize()); break; case 3 : System.out.println("Empty status = "+ bt.isEmpty()); break; case 4 : bt.clear(); System.out.println("\nTree Cleared\n"); break; default : System.out.println("Wrong Entry \n "); break; } /** Display tree **/ bt.printTree(); System.out.println("\nDo you want to continue (Type y or n) \n"); ch = scan.next().charAt(0); } while (ch == 'Y'|| ch == 'y'); } }
Binomial Tree Test Enter order of binomial tree 3 Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 1 Enter integer element to insert 24 Binomial Tree = 24 Do you want to continue (Type y or n) y Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 1 Enter integer element to insert 6 Binomial Tree = 24 6 Do you want to continue (Type y or n) y Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 1 Enter integer element to insert 19 Binomial Tree = 24 6 19 Do you want to continue (Type y or n) y Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 1 Enter integer element to insert 94 Binomial Tree = 24 6 19 94 Do you want to continue (Type y or n) y Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 1 Enter integer element to insert 28 Binomial Tree = 24 6 19 94 28 Do you want to continue (Type y or n) y Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 1 Enter integer element to insert 5 Binomial Tree = 24 6 19 94 28 5 Do you want to continue (Type y or n) y Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 1 Enter integer element to insert 16 Binomial Tree = 24 6 19 94 28 5 16 Do you want to continue (Type y or n) y Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 1 Enter integer element to insert 63 Binomial Tree = 24 6 19 94 28 5 16 63 Do you want to continue (Type y or n) y Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 1 Enter integer element to insert 17 Binomial Tree = 24 6 19 94 28 5 16 63 Do you want to continue (Type y or n) y Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 2 Nodes = 8 Binomial Tree = 24 6 19 94 28 5 16 63 Do you want to continue (Type y or n) y Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 3 Empty status = false Binomial Tree = 24 6 19 94 28 5 16 63 Do you want to continue (Type y or n) y Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 4 Tree Cleared Binomial Tree = Do you want to continue (Type y or n) y Binomial Tree Operations 1. insert 2. size 3. check empty 4. clear 3 Empty status = true Binomial Tree = Do you want to continue (Type y or n) n
Related posts:
Spring Boot - Batch Service
Introduction to Spring Data REST
Java Program to Implement the One Time Pad Algorithm
Returning Custom Status Codes from Spring Controllers
Java Program to find the maximum subarray sum using Binary Search approach
Java Program to Implement Ternary Search Tree
Spring REST API + OAuth2 + Angular (using the Spring Security OAuth legacy stack)
Java Program to Find the Shortest Path from Source Vertex to All Other Vertices in Linear Time
Using a Spring Cloud App Starter
Spring Security Registration – Resend Verification Email
Java Program to Implement an Algorithm to Find the Global min Cut in a Graph
Java Program to Implement Naor-Reingold Pseudo Random Function
Extract network card address
Java Program to Implement Selection Sort
Java Program to Implement Hopcroft Algorithm
Java Program to Implement Heap Sort Using Library Functions
Spring Boot - Rest Controller Unit Test
Java Program to Implement PrinterStateReasons API
Java Program to Implement Flood Fill Algorithm
Object Type Casting in Java
Autoboxing và Unboxing trong Java
Java – Write an InputStream to a File
Spring Cloud – Securing Services
Hashtable trong java
Java Program to Find the GCD and LCM of two Numbers
Java Program to Implement Repeated Squaring Algorithm
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Java Program to Implement Cubic convergence 1/pi Algorithm
Apache Commons Collections OrderedMap
Rest Web service: Filter và Interceptor với Jersey 2.x (P2)
Lớp lồng nhau trong java (Java inner class)
Java Program to Evaluate an Expression using Stacks