Objective
Build a Java program that will support the creation of a Binary Search Tree, hereinafter
referred to as a BST. This program will support reading a command file that supports
insertion, deletion, searching, printing, and subtree children and depth counts. All output
will be to either STDOUT or STDERR.
Requirements
Read the input file formatted as follows. The input file will contain at least one command per line, either insert, delete, search, print, or quit. These are defined in detail below. For example, one of the input files, named in5.txt contains the following:
i 9
i 24
i 3
i 4
i 11
p
q
2. The specific commands are i for insert, d for delete, s for search, p for print, and q for
quit.
(a) Insert
The insert command uses the single character i as the command token. The
command token will be followed by a single space then an integer.
(This command’s success can be verified by using the print command.)
For insertion or realigning operations, less than goes left, equal to or greater than goes right.
(b) Delete
The delete command uses the single character d as the command token. The
command token will be followed by a single space, then an integer.
In the event that the integer cannot be found, the program will issue an error
message to STDOUT and recover gracefully to continue to accept commands
from the input file.
command-> d 100: integer 100 NOT found - NOT deleted
(This command’s success can be verified by using the print command.)
(c) Search
The search command uses the single character s as the command token. The
command token will be followed by a single space, then an integer.
In the event that the integer cannot be located, the program will issue an error
message to STDOUT and recover gracefully to continue to accept commands
from the input file.
command-> s 101: integer 101 NOT found
(d) Print
The print command uses the single character p as the command token. This
command will invoke the print function which will output the data in the tree
inorder.
This command is critical for verification of all the commands specified above.
(e) Quit
The quit command uses the single character q as the command token. In the
event the quit command is invoked, the program exits. There is no requirement
for data persistence.
Functions
While there are no specific design requirements (with one exception), it might be a mean-
ingful suggestion to consider breaking this problem into several small classes. For example,
a BST class and a Node class would seem to be the minimal set of classes.
Required Function(s)
complexityIndicator
Prints to STDERR the following:
– NID
– A difficulty rating of how difficult this assignment was on a scale of 1.0 (easy-
peasy) through 5.0 (knuckle busting degree of difficulty).
– Duration, in hours, of the time you spent on this assignment.
– Delimit each field with a semicolon as shown below.
– Sample output:
ff210377@eustis:~/COP3503$ ff210377;3.5;18.5
countChildren which will count all nodes on the left branch of the BST, and then
the right branch.
getDepth which will provide the depth of the right and left branches of the BST.
Need a quote for Homework in Java? Post your Java homework questions and get answers from qualified tutors.
Are your classes going with Java? We offer Java homework help,Java Projects, Java assignment, Java project.
Contact us for this Java assignment Solutions by Codersarts Specialist who can help you mentor and guide for such Java assignments.
If you have project or assignment files, You can send at contact@codersarts.com directly