Programming Assignment 4 CS 3303 - Data Structures
University of the People
Introduction: In this assignment, we studied the use of the Binary search tree and implemented it in our own
way.
Class Main: import java.util.Scanner;
public class main {
public static void main(string[] args) ( Scanner sc = new Scanner(System.in); BinaryTree newTree = new BinaryTree(); while(sc.hasNextInt()) ( System.out.println("Enter the value of the current node in the tree, press -999 to exit: "); int value = sc.nextInt(); if(value == -999)( break;
newTree.insert(value);
System.out.println("The height of the tree is: " newTree.getHeight()); System.out.println("The size of the tree is: newTree.getsize());
int find = sc.nextInt();
newTree.find(find));
Class treeNode: public class treeNode { int data; treeNode left; treeNode right;
public treeNode(int value) ( this.data = value;
Class BinaryTree: public class BinaryTree { treeNode root;
public BinaryTree() { root = null;
public BinaryTree(int value) ( root = new treeNode(value);
public void insert(int value) ( if(root == null) ( root = new treeNode(value); } else { insert(root, value);
public void insert(treeNode node, int value) ( if(value < node.data) ( if(node.left null)( node.left = new treeNode(value) ; } else { insert(node.left, value);
} else { if(node.right == null) { node.right = new treeNode(value); else{ insert(node.right, value);
public void print() { print(root);
public void print(treeNode node) ( if(node != null) ( System.out.print(node.data + " "; print(node.left); print(node.right);
public int getHeight() ( return getHeight(root);
public int getHeight(treeNode node)
return 0;
int leftHeight = getHeight(node.left); int rightHeight = getHeight(node.right); if(leftHeight > rightHeight) ( return leftHeight + 1; } else { return rightHeight + 1;
public int getsize(