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:
Java Program to Find Transitive Closure of a Graph
Java Program to Implement RenderingHints API
Tránh lỗi NullPointerException trong Java như thế nào?
Spring Cloud AWS – Messaging Support
Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence
Comparing Strings in Java
Spring Boot - Google OAuth2 Sign-In
The Difference Between map() and flatMap()
Java Stream Filter with Lambda Expression
Java – File to Reader
4 tính chất của lập trình hướng đối tượng trong Java
Guide to Guava Table
Java Program to Represent Graph Using Incidence Matrix
Hướng dẫn Java Design Pattern – Object Pool
More Jackson Annotations
Java Program to Implement Ternary Search Algorithm
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Java Program to Implement Threaded Binary Tree
Period and Duration in Java
Check If a File or Directory Exists in Java
An Intro to Spring Cloud Task
Spring JDBC
Java Program to Check whether Directed Graph is Connected using DFS
Using a Custom Spring MVC’s Handler Interceptor to Manage Sessions
Java Program to Implement TreeMap API
Guide to the Volatile Keyword in Java
Java Program to Check Multiplicability of Two Matrices
Tạo chương trình Java đầu tiên sử dụng Eclipse
Server-Sent Events in Spring
Java Program to implement Sparse Vector
Call Methods at Runtime Using Java Reflection
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize