This is a java program to construct a binary tree and perform preorder traversal of the constructed binary tree.
Nodes visited are in the order:
visit Root node
visit Left node
visit Right node
Here is the source code of the Java Program to Perform Preorder Recursive Traversal of a Given 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 recursive preorder 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 preorder()
{
preorder(root);
}
private void preorder(BinarySearchTreeNodes r)
{
if (r != null)
{
System.out.print(r.getData() + " ");
preorder(r.getLeft());
preorder(r.getRight());
}
}
}
public class Preorder_Recursive_BST
{
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("\nPre order : ");
bst.preorder();
scan.close();
}
}
Output:
$ javac Preorder_Recursive_BST.java $ java Preorder_Recursive_BST Enter the first 10 elements of the tree 12 10 11 03 15 19 02 01 04 70 Pre order : 12 10 3 2 1 4 11 15 19 70
Related posts:
Java Program to Perform Partial Key Search in a K-D Tree
Guide to the Java TransferQueue
Disable DNS caching
A Guide to JUnit 5 Extensions
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Java Program to Check if a Given Set of Three Points Lie on a Single Line or Not
Java Program to Solve the 0-1 Knapsack Problem
Logging a Reactive Sequence
Java Program to Implement Horner Algorithm
The Difference Between Collection.stream().forEach() and Collection.forEach()
Mệnh đề Switch-case trong java
Java Program to Perform Addition Operation Using Bitwise Operators
Arrays.asList vs new ArrayList(Arrays.asList())
Hướng dẫn Java Design Pattern – Template Method
Guava – Join and Split Collections
Collect a Java Stream to an Immutable Collection
Tính đóng gói (Encapsulation) trong java
Java Program to Find a Good Feedback Edge Set in a Graph
Một số nguyên tắc, định luật trong lập trình
Ways to Iterate Over a List in Java
Convert Hex to ASCII in Java
Java Program to Find the Number of Ways to Write a Number as the Sum of Numbers Smaller than Itself
Hướng dẫn Java Design Pattern – Chain of Responsibility
Stack Memory and Heap Space in Java
Extra Login Fields with Spring Security
Java Program to Generate All Subsets of a Given Set in the Gray Code Order
The Difference Between map() and flatMap()
Java Program to Implement Bellman-Ford Algorithm
LIKE Queries in Spring JPA Repositories
The HttpMediaTypeNotAcceptableException in Spring MVC
The Thread.join() Method in Java
Comparing Arrays in Java