This is a Java Program to perform Double Order traversal over binary tree.
Recurse through:
1. Visit root of (sub)tree.
2. Visit left sub-tree.
3. Revisit root of (sub)tree.
4. Visit right sub-tree.
Here is the source code of the Java Program to Implement Double Order Traversal of a Binary Tree. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to implement doubleorder traversal of the Binary Search Tree import java.util.Scanner; class BinarySearchTreeNodes { BinarySearchTreeNodes left, right; int data; public BinarySearchTreeNodes() { left = null; right = null; data = 0; } public BinarySearchTreeNodes(int n) { left = null; right = null; data = n; } public void setLeft(BinarySearchTreeNodes n) { left = n; } public void setRight(BinarySearchTreeNodes n) { right = n; } public BinarySearchTreeNodes getLeft() { return left; } public BinarySearchTreeNodes getRight() { return right; } public void setData(int d) { data = d; } public int getData() { return data; } } class BinarySearchTree { private BinarySearchTreeNodes root; public BinarySearchTree() { root = null; } public boolean isEmpty() { return root == null; } public void insert(int data) { root = insert(root, data); } private BinarySearchTreeNodes insert(BinarySearchTreeNodes node, int data) { if (node == null) node = new BinarySearchTreeNodes(data); else { if (data <= node.getData()) node.left = insert(node.left, data); else node.right = insert(node.right, data); } return node; } public void doubleorder() { doubleorder(root); } private void doubleorder(BinarySearchTreeNodes r) { if(r != null) { System.out.print(r.getData() + " "); doubleorder(r.getLeft()); System.out.print(r.getData() + " "); doubleorder(r.getRight()); } } } public class Doubleorder_Traversal { public static void main(String[] args) { Scanner scan = new Scanner(System.in); BinarySearchTree bst = new BinarySearchTree(); System.out.println("Enter the first 10 elements of the tree\n"); int N = 10; for (int i = 0; i < N; i++) bst.insert(scan.nextInt()); System.out.print("\nDouble-order : "); bst.doubleorder(); scan.close(); } }
Output:
$ javac Doubleorder_Traversal.java $ java Doubleorder_Traversal Enter the first 10 elements of the tree 12 10 11 03 15 19 02 01 04 70 Double-order : 12 10 3 2 1 1 2 3 4 4 10 11 11 12 15 15 19 19 70 70
Related posts:
ClassNotFoundException vs NoClassDefFoundError
Java Program to Implement Fermat Primality Test Algorithm
Guava CharMatcher
Guide to java.util.concurrent.Future
Java Program to Find Nearest Neighbor for Static Data Set
Biểu thức Lambda trong Java 8 – Lambda Expressions
Java Program to Implement Shunting Yard Algorithm
Java Program to Implement Dijkstra’s Algorithm using Queue
Spring Cloud Connectors and Heroku
Java Program to add two large numbers using Linked List
Java Program to Check Cycle in a Graph using Topological Sort
Java Program to Implement Cartesian Tree
Java Program to Implement Hash Tables
Các kiểu dữ liệu trong java
Jackson Date
Phương thức tham chiếu trong Java 8 – Method References
Java Program to Implement Ternary Heap
Object cloning trong java
Java – Generate Random String
New Features in Java 14
Java Program to Implement PriorityBlockingQueue API
Introduction to Using Thymeleaf in Spring
Java Program to Find the Connected Components of an UnDirected Graph
Sorting in Java
Java Program to Find a Good Feedback Edge Set in a Graph
Java Program to Implement Ternary Search Algorithm
Java Program to Implement Queue using Two Stacks
A Guide to JPA with Spring
Spring Boot - Building RESTful Web Services
LinkedHashSet trong java
A Guide to JUnit 5
Java Program to Implement Red Black Tree