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:
Spring Boot - Tomcat Port Number
Java – Reader to InputStream
Java Program to Implement Stack API
Guide to the Java TransferQueue
Understanding Memory Leaks in Java
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Java Program to Implement Sorted Singly Linked List
Logging in Spring Boot
Allow user:password in URL
Optional trong Java 8
Generate Spring Boot REST Client with Swagger
Spring Security OAuth Login with WebFlux
Java Program to Describe the Representation of Graph using Incidence List
Removing Elements from Java Collections
New Features in Java 10
Java Program to Represent Graph Using Adjacency Matrix
Java Program to Solve Knapsack Problem Using Dynamic Programming
Java Program to do a Depth First Search/Traversal on a graph non-recursively
Hướng dẫn Java Design Pattern – Composite
Tạo ứng dụng Java RESTful Client với thư viện OkHttp
How to Get All Dates Between Two Dates?
Java Program to Solve the 0-1 Knapsack Problem
Java Program to find the number of occurrences of a given number using Binary Search approach
Introduction to Spring Data JPA
Vector trong Java
Spring Boot - Actuator
Java Program to Implement D-ary-Heap
Java Program to Implement Quick Hull Algorithm to Find Convex Hull
Server-Sent Events in Spring
Binary Tree
Java Program to Implement Suffix Tree
Spring Security 5 – OAuth2 Login