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’s RequestBody and ResponseBody Annotations
Java Program to Perform Naive String Matching
Running Spring Boot Applications With Minikube
Logging a Reactive Sequence
Spring RestTemplate Error Handling
Spring Data Reactive Repositories with MongoDB
Sending Emails with Java
Removing all duplicates from a List in Java
Java Program to Construct K-D Tree for 2 Dimensional Data
Converting Strings to Enums in Java
Spring Security 5 – OAuth2 Login
Converting a List to String in Java
Câu lệnh điều khiển vòng lặp trong Java (break, continue)
StringBuilder vs StringBuffer in Java
Generate Spring Boot REST Client with Swagger
Java Program to Implement Ternary Search Tree
Spring Data JPA @Query
Java Program to Implement Circular Doubly Linked List
Spring Boot - Tracing Micro Service Logs
Count Occurrences of a Char in a String
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
Giới thiệu về Stream API trong Java 8
Deploy a Spring Boot App to Azure
Getting the Size of an Iterable in Java
Java Program to Implement Dijkstra’s Algorithm using Priority Queue
Guava CharMatcher
Removing all Nulls from a List in Java
How to Get a Name of a Method Being Executed?
Java Convenience Factory Methods for Collections
Lớp Arrarys trong Java (Arrays Utility Class)
Converting Between a List and a Set in Java
Send an email with an attachment