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 Implement the Monoalphabetic Cypher
Java Program to implement Associate Array
Guide to Guava Table
Java Program to Decode a Message Encoded Using Playfair Cipher
Apache Commons Collections OrderedMap
How to Get a Name of a Method Being Executed?
XML Serialization and Deserialization with Jackson
Java Program to Implement Range Tree
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 RoleUnresolvedList API
Exception Handling in Java
Mapping a Dynamic JSON Object with Jackson
Java Program to Show the Duality Transformation of Line and Point
Comparing Two HashMaps in Java
Java Program to Implement Shoelace Algorithm
Java Program to Implement AVL Tree
Connect through a Proxy
Java Program to Implement CopyOnWriteArrayList API
Setting a Request Timeout for a Spring REST API
Java Program to Optimize Wire Length in Electrical Circuit
SOAP Web service: Authentication trong JAX-WS
Java Program to Solve the Fractional Knapsack Problem
Java List UnsupportedOperationException
Java Program to Implement SynchronosQueue API
Java Program to Implement HashTable API
Java Program to Implement Rolling Hash
Hướng dẫn Java Design Pattern – Bridge
Luồng Daemon (Daemon Thread) trong Java
Java Program to Apply Above-Below-on Test to Find the Position of a Point with respect to a Line
What is Thread-Safety and How to Achieve it?
Java Program to Find Nearest Neighbor Using Linear Search
Java Program to Implement Hash Trie