Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I've been struggling with this code since I'm not used with Java language. I hope someone can help me. I really appreciate it. Thank you

I've been struggling with this code since I'm not used with Java language. I hope someone can help me.

I really appreciate it.

Thank you

image text in transcribedimage text in transcribedimage text in transcribed

Note:

Inserts are based on the algorithm of = goes right.

Deletes are based on the algorithm:

  • No children
  • Only one child
    • with only a left child
    • with only a right child
  • Two children

Depending on your implementation, you might need a helper function to splice child tree(s) correctly.

1 Objective Build a Java program that will support the creation of a Binary Search Tree, hereinafter referred to 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 2 Requirements 1. 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 1 i 24 1 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.) (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 and recover gracefully to continue to accept commands 100: NOT found (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 advise the user with a message. See the Output section for an example. 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. 2.1 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 2.1.1 Required Function(s) complexityIndicator Prints to STDERR the following: NID A difficulty rating of difficult you found this assignment 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 - Sample output: ff210377@eustis:"/COP3503$ ff210377;3.5;18.5 o countChildren which will count all nodes on the left branch of the BST, and then the right branch o getDepth which will provide the depth of the right and left branches of the BST. 5 Sample output ff210377Oeustis: "/COP3503$ java Hw01 in10.txt in10.txt contains: i 888 i 77 i 90 i 990 i 120 i 450 i 7900 i 7000 i 500 i 65 65 77 90 120 450 500 888 990 7000 7900 left children: left depth: right children: right depth: ff210377;3.5;18.5 ff210377@eustis: "/COP3503$ java Hw01 >5in-myOutput.txt ff210377;3.5;18.5 ff210377@eustis: "/COP3503 diff 5in-my0utput.txt 5in-expectedOutput.txt mi113345@eustis:/COP3503$ 6 5 3 3 Note The ff210377;3.5;18.5 output shown above is the output from the complexityIndi- cator function to STDERR 1 Objective Build a Java program that will support the creation of a Binary Search Tree, hereinafter referred to 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 2 Requirements 1. 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 1 i 24 1 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.) (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 and recover gracefully to continue to accept commands 100: NOT found (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 advise the user with a message. See the Output section for an example. 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. 2.1 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 2.1.1 Required Function(s) complexityIndicator Prints to STDERR the following: NID A difficulty rating of difficult you found this assignment 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 - Sample output: ff210377@eustis:"/COP3503$ ff210377;3.5;18.5 o countChildren which will count all nodes on the left branch of the BST, and then the right branch o getDepth which will provide the depth of the right and left branches of the BST. 5 Sample output ff210377Oeustis: "/COP3503$ java Hw01 in10.txt in10.txt contains: i 888 i 77 i 90 i 990 i 120 i 450 i 7900 i 7000 i 500 i 65 65 77 90 120 450 500 888 990 7000 7900 left children: left depth: right children: right depth: ff210377;3.5;18.5 ff210377@eustis: "/COP3503$ java Hw01 >5in-myOutput.txt ff210377;3.5;18.5 ff210377@eustis: "/COP3503 diff 5in-my0utput.txt 5in-expectedOutput.txt mi113345@eustis:/COP3503$ 6 5 3 3 Note The ff210377;3.5;18.5 output shown above is the output from the complexityIndi- cator function to STDERR

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered 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

Students also viewed these Databases questions