Problem Name: Binary Search Tree
Problem Link: https://www.urionlinejudge.com.br/judge/en/problems/view/1195
Solution in Java8:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in) ;
int t = sc.nextInt() ;
for(int i = 1 ; i <= t ; i ++ ) {
int n = sc.nextInt() ;
int root = sc.nextInt() ;
node tree = new node(root) ;
// inserting in tree
for(int j = 2 ; j <= n ; j ++ ) {
int temp = sc.nextInt() ;
tree.insert(temp);
}
System.out.printf("Case %d:\n", i);
// traversing pre order
System.out.print("Pre.:");
tree.preOrder();
System.out.println();
// traversing in order
System.out.print("In..:");
tree.inOrder();
System.out.println();
//traversing post order
System.out.print("Post:");
tree.postOrder();
System.out.println("\n");
}
}
}
class node {
int data ;
node left , right ;
node(int data){
this.data = data ;
}
public void insert(int value) {
if(value <= data) {
if(left == null) {
left = new node(value) ;
} else left.insert(value);
}
else {
if(right == null) {
right = new node(value) ;
} else right.insert(value);
}
}
public void inOrder() {
if(left != null) left.inOrder();
System.out.print(" "+data);
if(right != null) right.inOrder();
}
public void preOrder() {
System.out.print(" "+data);
if(left != null) left.preOrder();
if(right != null) right.preOrder();
}
public void postOrder() {
if(left != null) left.postOrder();
if(right != null) right.postOrder();
System.out.print(" "+data);
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in) ;
int t = sc.nextInt() ;
for(int i = 1 ; i <= t ; i ++ ) {
int n = sc.nextInt() ;
int root = sc.nextInt() ;
node tree = new node(root) ;
// inserting in tree
for(int j = 2 ; j <= n ; j ++ ) {
int temp = sc.nextInt() ;
tree.insert(temp);
}
System.out.printf("Case %d:\n", i);
// traversing pre order
System.out.print("Pre.:");
tree.preOrder();
System.out.println();
// traversing in order
System.out.print("In..:");
tree.inOrder();
System.out.println();
//traversing post order
System.out.print("Post:");
tree.postOrder();
System.out.println("\n");
}
}
}
class node {
int data ;
node left , right ;
node(int data){
this.data = data ;
}
public void insert(int value) {
if(value <= data) {
if(left == null) {
left = new node(value) ;
} else left.insert(value);
}
else {
if(right == null) {
right = new node(value) ;
} else right.insert(value);
}
}
public void inOrder() {
if(left != null) left.inOrder();
System.out.print(" "+data);
if(right != null) right.inOrder();
}
public void preOrder() {
System.out.print(" "+data);
if(left != null) left.preOrder();
if(right != null) right.preOrder();
}
public void postOrder() {
if(left != null) left.postOrder();
if(right != null) right.postOrder();
System.out.print(" "+data);
}
}
Comments
Post a Comment