Skip to main content

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);
    }
}

Comments