Saturday, 20 October 2012

Program to implement Binary tree


class BinaryTreeExample
 {
         public static void main(String[] args)
    {
        new BinaryTreeExample().run();
  }
  static class Node
   {
  Node left;
  Node right;
  int value;
  public Node(int value)
{
  this.value = value;
  }
  }
  public void run() {
  Node rootnode = new Node(25);
  System.out.println("Building tree with rootvalue
    " + rootnode.value);
  System.out.println("===============================");
  insert(rootnode, 11);
  insert(rootnode, 15);
  insert(rootnode, 16);
  insert(rootnode, 23);
  insert(rootnode, 79);
  System.out.println("Traversing tree in order");
  System.out.println("=================================");
  printInOrder(rootnode);
  }
  public void insert(Node node, int value) {
  if (value < node.value) {
  if (node.left != null) {
  insert(node.left, value);
  }
 Else
 {
  System.out.println("  Inserted " + value +
    " to left of node " + node.value);
  node.left = new Node(value);
  }
  } else if (value > node.value) {
  if (node.right != null) {
  insert(node.right, value);
  } else {
  System.out.println("  Inserted " + value + "
  to right of node " + node.value);
  node.right = new Node(value);
  }
  }
  }
  public void printInOrder(Node node) {
  if (node != null) {
  printInOrder(node.left);
  System.out.println("  Traversed " + node.value);
  printInOrder(node.right);
  }
  }
}
Output of the program
  Building tree with root value 25
=================================
  Inserted 11 to left of node 25
  Inserted 15 to right of node 11
  Inserted 16 to right of node 15
  Inserted 23 to right of node 16
  Inserted 79 to right of node 25
Traversing tree in order
  Traversed 11
  Traversed 15
  Traversed 16
  Traversed 23
  Traversed 25
  Traversed 79

No comments:

Post a Comment