You are asked to design and implement a binary search tree that simulates a dictionary.
This tree is used to store definitions of words. Each definition has two parts, a word and its description (explanation) both of which are strings. The program starts by displaying the following menu:
-----------------------------------
Enter your choice:
Create the dictionary – The program prompts the user for the name of a text file where word definitions are stored. Each word definition is stored on a line in the file. The definition has two parts, the word and its description, delineated with a colon ( : )
Following is an example of how the text file should look like:
Human Being: Evolved homosapien
Pen: Tool used to write
The text file is then parsed and the definitions are extracted and stored in appropriate objects. A binary search tree containing all the definitions is then constructed according to the order of appearance of the definitions in the text file. Definitions are compared by their word field hence, the word “animal” is smaller than the word “job”. If the text file is not found, the program should prompt for the name again. This is repeated three times, if after three times, the file with the specified name is still not found, the menu is displayed again.
Add a definition – This option allows the user to enter new definitions in the tree. A definition(word+description) can appear only once in the tree. The definitions are sorted alphabetically (by word). Two definitions are said to be equal if they have the same word and the same explanation. Two equal definitions cannot be in the tree at the same time. Two definitions are said to be homonyms if they have the same word but different explanations. Two homonyms are allowed in the tree at the same time.
Remember to keep the binary search nature of the tree when you add new elements.
Remove a definition– This option prompts the user for a word to remove. If one or more definitions of this word are found, they are all displayed and numbered. The user can either delete them all from the tree or specify which one to remove. If no definition of this word is found, an appropriate message is displayed.
Remember to keep the binary search nature of the tree when you remove elements.
Search for a definition– This option allows the user to search for the definition of a word in the tree. All definitions of the input word are displayed on the screen.
Remember to take advantage of the binary search nature of the tree while doing the search.
Print dictionary – This prints all the definitions sorted lexicographically by word.
Display tree – Prints the tree with a proper indentation per level. There are no specific requirements for this. Be creative and impress us!
Exit – Terminates the program after saving all modifications to the text file.
Notes:
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of