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