Showing posts with label recursion. Show all posts
Showing posts with label recursion. Show all posts

Sunday, 14 October 2018

Calculate Size of binary tree Using Recusrion

public class CalculateSizeUsingRecusrion {
    public static void main(String args[]) {
             Node rootNode = new Node("4");
             rootNode.left = new Node("2");
             rootNode.left.left = new Node("1");
             rootNode.left.right = new Node("3");
             rootNode.right = new Node("6");
             rootNode.right.right = new Node("7");
             rootNode.right.left = new Node("5");
           
             System.out.println(calcSize(rootNode));
    }
   
    static int calcSize(Node node) {
        if(node==null) {
            return 0;
        }
        return calcSize(node.left)+1+calcSize(node.right);
    }
}

class BinayTree{
    static class Node{
        String value;
        Node left;
        Node right;
       
        Node(String val){
            value = val;
            left = right = null;
        }
       
    }
   
}

output: 7

Saturday, 22 September 2018

Algorithm for searching an element in binary tree java

public class SearchANodeUsingRecusrtion {
    public static void main(String args[]) {
        Node node = new Node(1);
        node.left = new Node(2);
        node.right = new Node(3);
        node.left.left = new Node(4);
        node.left.right = new Node(5);
        node.right.left = new Node(6);
        node.right.right = new Node(7);
        SearchANodeUsingRecusrtion searchANodeUsingRecusrtion = new SearchANodeUsingRecusrtion();
        int output = searchANodeUsingRecusrtion.searchNode(node,6);
        if(output==1)
            System.out.println("found");
        else
            System.out.println("not found");
    }
   
    public int searchNode(Node node,int key) {
        if(null!=node) {
            if(node.value==key) {
                return 1;
            }else {
                int temp = searchNode(node.left,key);
                if(temp!=0) {
                    return 1;
                }else {
                 temp =    searchNode(node.right,key);
                 return temp;
                }
               
            }
       
        }else {
            return 0;
        }
       
    }
   
}


class BinayTree{
    static class Node{
        String value;
        Node left;
        Node right;
       
        Node(String val){
            value = val;
            left = right = null;
        }
       
    }
   
}

links for Data Structure

  1) 𝐁𝐞𝐜𝐨𝐦𝐞 𝐌𝐚𝐬𝐭𝐞𝐫 𝐢𝐧 𝐋𝐢𝐧𝐤𝐞𝐝 𝐋𝐢𝐬𝐭:  https://lnkd.in/gXQux4zj 2) 𝐀𝐥𝐥 𝐭𝐲𝐩𝐞𝐬 𝐨𝐟 𝐓𝐫𝐞𝐞 𝐓𝐫𝐚𝐯𝐞𝐫𝐬𝐚𝐥𝐬...