Sum of all nodes in a tree - java

package trees;

public class SumOfNodes {

    public static void main(String[] args) {
        Node rootnode = new Node(25);
          System.out.println("Building tree with rootvalue " + rootnode.getNodeValue());
          System.out.println("================================");
          rootnode.insert(rootnode, 11);
          rootnode.insert(rootnode, 15);
          rootnode.insert(rootnode, 16);
          rootnode.insert(rootnode, 23);
          rootnode.insert(rootnode, 79);
          System.out.println("Total Count");
          System.out.println("=================================");
          System.out.println(sum(rootnode));

    }

    private static int sum(Node root){
        if(root == null)
            return 0;
        else
            return root.getNodeValue() + sum(root.getLeft()) + sum(root.getRight());
    }

}
-----------------------------------------------------------------------

package trees;

import trees.traversal.InOrderTraversal;

public class Node {
    private Node left;
    private Node right;
    private int nodeValue;

    public Node(int nodeValue) {
        super();
        this.nodeValue = nodeValue;
    }


    public Node getLeft(){
        return left;
    }
   
    public Node getRight(){
        return right;
    }
   
    public int getNodeValue(){
        return nodeValue;
    }
   
   
    public void insert(Node node, int value) {
          if (value < node.nodeValue) {
              if (node.left != null) {
                      insert(node.left, value);
              }
              else {
                      System.out.println("  Inserted " + value +  " to left of node " + node.nodeValue);
                      node.left = new Node(value);
              }
          } else if (value > node.nodeValue) {
              if (node.right != null) {
                      insert(node.right, value);
              } else {
                  System.out.println("  Inserted " + value + "to right of node " + node.nodeValue);
                  node.right = new Node(value);
              }
          }
    } 
}
----------------------------------------------------------------------------------------
o/p:
Building tree with rootvalue 25
================================
  Inserted 11 to left of node 25
  Inserted 15to right of node 11
  Inserted 16to right of node 15
  Inserted 23to right of node 16
  Inserted 79to right of node 25
Total Count
=================================
169

Comments

Popular posts from this blog

public vs protected vs default access modifiers - Java

Class, Reference and Object