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:
A Custom Data Binder in Spring MVC
Hướng dẫn Java Design Pattern – Transfer Object
Configuring a DataSource Programmatically in Spring Boot
So sánh ArrayList và Vector trong Java
Convert char to String in Java
Spring Boot - Rest Template
Java Program to Create the Prufer Code for a Tree
Java Program to Implement Singly Linked List
Java Program to Find Nearest Neighbor for Static Data Set
Apache Commons Collections Bag
Bootstrap a Web Application with Spring 5
Spring Web Annotations
Giới thiệu Google Guice – Injection, Scope
SOAP Web service: Upload và Download file sử dụng MTOM trong JAX-WS
How to Change the Default Port in Spring Boot
Spring Boot Security Auto-Configuration
Từ khóa this và super trong Java
Hướng dẫn Java Design Pattern – Bridge
Registration – Password Strength and Rules
Vector trong Java
Spring Security Custom AuthenticationFailureHandler
Java Program to Implement Brent Cycle Algorithm
Rest Web service: Filter và Interceptor với Jersey 2.x (P2)
Mockito and JUnit 5 – Using ExtendWith
Introduction to Project Reactor Bus
Explain about URL and HTTPS protocol
Java Program to Implement an Algorithm to Find the Global min Cut in a Graph
Batch Processing with Spring Cloud Data Flow
Java Program to Implement Ford–Fulkerson Algorithm
Java Program to Implement Traveling Salesman Problem using Nearest neighbour Algorithm
The Difference Between map() and flatMap()
Hướng dẫn sử dụng Lớp FilePermission trong java