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:
Generic Constructors in Java
Jackson – Bidirectional Relationships
So sánh Array và ArrayList trong Java
Registration – Activate a New Account by Email
Spring Boot - Hystrix
Java Program to Implement Stack API
Java Program to Implement Bresenham Line Algorithm
JUnit 5 @Test Annotation
Java Program to Implement Aho-Corasick Algorithm for String Matching
Intro to Spring Boot Starters
Returning Image/Media Data with Spring MVC
A Guide to Concurrent Queues in Java
Spring’s RequestBody and ResponseBody Annotations
Java – Get Random Item/Element From a List
Java Program to Perform Partition of an Integer in All Possible Ways
Spring Boot - Enabling Swagger2
Guide to Spring @Autowired
A Guide to HashSet in Java
Spring WebClient Filters
Immutable Map Implementations in Java
Java Program to Implement LinkedBlockingQueue API
Chuyển đổi Array sang ArrayList và ngược lại
Function trong Java 8
Hướng dẫn sử dụng String Format trong Java
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Tạo ứng dụng Java RESTful Client với thư viện Retrofit
CyclicBarrier in Java
REST Web service: Upload và Download file với Jersey 2.x
Guide to Apache Commons CircularFifoQueue
Java Program to Implement Selection Sort
Guide to the Volatile Keyword in Java
Java Program to Implement Quick sort