CS111 The Binary Tree Class

Node.java


    public class Node {
      //DATA MEMBERS: BINARY TREES HAVE A LEFT AND A RIGHT
      //          SET TO PUBLIC. CAN ALSO BE DONE USING SETTERS AND GETTERS
      public int n;
      public Node left;
      public Node right;

      //EXPLICIT CONSTRUCTOR
      public Node(int n){




      }
    }

  



BinaryTree.java


    public class BinaryTree {

      //TASK 1: SPECIFY THE DATA MEMBER - SIMPLY THE ROOT REFERENCE TO THE TREE

      //TASK 2: CREATE THE CONSTRUCTOR.
      public BinaryTree() {
        //TIP: THE ROOT SHOULD BE INITIALIZED TO NULL.  TREES BEGIN EMPTY.


      }

      //TASK 3: ADD A NODE TO THE TREE.  EXAMINE ALL SCENARIOS.
      //-----------------------------------------------------------
      //ADD NODE
      //-----------------------------------------------------------
      public void addNode(int n) {




      }



      //TASK 4: PERFORM IN-ORDER TRAVERSAL
      //-----------------------------------------------------------
      //IN-ORDER TRAVERSAL
      //-----------------------------------------------------------











      //TASK 5: DELETE A NODE FROM THE TREE.  EXAMINE ALL SCENARIOS.
      //-----------------------------------------------------------
      //  DELETE NODE
      //-----------------------------------------------------------
      public void delete(int n){










      }
    }

  



MyApp.java - The Test Driver


    public class MyApp {

      public static void main(String[] args) {
        //TASK 1: INSTANTIATE A BINARY TREE
        BinaryTree tree = new BinaryTree();

        //TASK 2:  ADD NODES TO THE BINARY TREE
        tree.addNode(8);
        tree.addNode(4);
        tree.addNode(2);
        tree.addNode(3);
        tree.addNode(1);
        tree.addNode(6);
        tree.addNode(7);
        tree.addNode(5);
        tree.addNode(12);
        tree.addNode(10);
        tree.addNode(14);
        tree.addNode(9);
        tree.addNode(11);
        tree.addNode(13);
        tree.addNode(15);

        //TASK 3: DISPLAY THE NODES IN-ORDER
        System.out.println("Displaying the nodes in-order:");
        tree.displayInOrder();

        //TASK 4: SEARCH FOR A SPECIFIC NODE
        System.out.println("\n\nThe node 3 is found: " + tree.searchNode(3));
        System.out.println("The node 45 is found: " + tree.searchNode(45));

        //TASK 4: DELETE NODES
        tree.delete(3);
        System.out.println("\nAfter deleting 3: (displaying the nodes in-order)");
        tree.displayInOrder();

        tree.delete(12);
        System.out.println("\nAfter deleting 12: (Displaying the nodes in-order)");
        tree.displayInOrder();

      }
    }