Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

JAVA PLZ BinaryTreeMainProgram.java: public class BinaryTreeMainProgram { public static void main(String[] args) { MyBinaryTree myTree = new MyBinaryTree (); myTree.add(12); myTree.add(10); myTree.add(5); myTree.add(9); myTree.add(11); myTree.add(3);

JAVA PLZ

image text in transcribed

BinaryTreeMainProgram.java:

public class BinaryTreeMainProgram { public static void main(String[] args) { MyBinaryTree myTree = new MyBinaryTree(); myTree.add(12); myTree.add(10); myTree.add(5); myTree.add(9); myTree.add(11); myTree.add(3); myTree.add(12); myTree.add(13); myTree.add(14); myTree.add(15); System.out.print("The tree contains : "); System.out.println(myTree) ;

System.out.println(); System.out.println("The tree looks like : "); myTree.printSideways();

// New Code Part 1 System.out.println("******* New Code Part 1 *************"); System.out.print("Does the tree contian 9? : "); System.out.println(myTree.contains(9) );

System.out.print("Does the tree contian 20? : "); System.out.println(myTree.contains(20) );

// New Code Part 2 System.out.println("******* New Code Part 2 *************"); System.out.print("The minimum value is ? : "); System.out.println(myTree.getMin() );

// New Code Part 3 System.out.println("******* New Code Part 3 *************"); System.out.print("Removing : "); myTree.remove(13); System.out.println(myTree); System.out.println("The tree looks like : "); myTree.printSideways();

// New Code Part 4 System.out.println("******* New Code Part 4 *************"); System.out.print("The size of the tree is : " + myTree.size() );

} }

MyBinaryTree.java:

import java.util.NoSuchElementException;

/**************************************************** * Main Class MyBinaryTree ****************************************************/

public class MyBinaryTree > {

/**************************************************** * Helper Class TreeNode * Note that this is a class inside the tree ****************************************************/ private class TreeNode { public E payload; public TreeNode left; public TreeNode right; public TreeNode (E data) { payload = data; } }

// Root of the Main tree private TreeNode root; /************************************ * Constructor (Default) ************************************/ public MyBinaryTree() { root = null; } /***************************************************** * toString Method (starter method) *****************************************************/ public String toString() { if (root == null) { return ""; } return toString(root); }

/***************************************************** * toString Method (recursive method) *****************************************************/ private String toString(TreeNode tempRoot) { if (tempRoot == null) return ""; return toString(tempRoot.left) + " " + tempRoot.payload.toString() + " " + toString(tempRoot.right); } /***************************************************** * printSideways Method (starter method) ***************************************************/ public void printSideways() { if (root == null) { System.out.println("Null Tree"); return; } printSideways(root,""); } /***************************************************** * printSideways Method (recursive method) ***************************************************/

private void printSideways(TreeNode tempRoot, String indent) { if (tempRoot == null) return; printSideways(tempRoot.right," "+indent); System.out.println(indent + tempRoot.payload.toString() ); printSideways(tempRoot.left," "+indent); } /***************************************************** * add Method (starter method) ***************************************************/ public void add(E data) { root = add(root, data); } /***************************************************** * printSideways Method (recursive method) ***************************************************/

private TreeNode add(TreeNode tempRoot, E data) { if (tempRoot == null) { TreeNode temp = new TreeNode(data); return temp; } if (tempRoot.payload.compareTo(data) > 0) { tempRoot.left = add(tempRoot.left,data); } if (tempRoot.payload.compareTo(data)

public boolean contains(E lookFor, TreeNode temproot) { // need this to help with above return false; }

/***************************************************** * getMin Method (starter method) ***************************************************/ public E getMin() { // Need to implement this. System.err.println("NOT IMPLEMENTED"); return null; } /***************************************************** * remove Method (recursive method) ***************************************************/

public E getMin(TreeNode temproot) { // need this to help with above return null; }

/***************************************************** * remove Method (starter method) ***************************************************/ public void remove(E lookFor) { // Need to implement this. System.err.println("NOT IMPLEMENTED"); } /***************************************************** * remove Method (recursive method) ***************************************************/

public void remove(E lookFor, TreeNode temproot) { // need this to help with above } /***************************************************** * size Method (starter method) ***************************************************/ public int size() { // Need to implement this. System.err.println("NOT IMPLEMENTED"); return 0; } /***************************************************** * size Method (recursive method) ***************************************************/

public int size(TreeNode temproot) { // need this to help with above return 0; } }

In the class over the last couple of days, have talked about how to build a binary search tree. We don't have time to write an entire one, but we can take one that works and add some functionality to it. The starter Files. BinaryTreeMainProgram,java My Binary Tree java This is a functioning Binary Tree, but we are missing a couple of important functions. Your job is to implement them. The missing functions are: contains value o This function should search the tree to determine if the value is or is not present. It should return a boolean value. get Min o This should return the smallest value in the tree. remove(value) o This should remove a value from the tree and move the tree as necessary Size o This should find the number of elements in the tree. All functions should be recursive and work correctly. You are welcome to look at the other methods and see how they are implemented to help you out

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Driven Web Sites

Authors: Mike Morrison, Joline Morrison

1st Edition

061901556X, 978-0619015565

More Books

Students also viewed these Databases questions

Question

please help answer with detailed instructions on how to solve.

Answered: 1 week ago

Question

What are the Five Phases of SDLC? Explain each briefly.

Answered: 1 week ago

Question

How can Change Control Procedures manage Project Creep?

Answered: 1 week ago