logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

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

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

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:

  1. Create the dictionary
  2. Add a definition
  3. Remove a definition
  4. Search for a definition
  5. Print dictionary
  6. Display tree
  7. Exit

-----------------------------------

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:

 

  • All the methods listed above except the delete option should be written recursively. If a method is not written recursively, you will get partial credit for it.
  • Define the tree from scratch. Do not re-use JAVA APIs for any sort of trees.
  • Make sure the tree is a binary search tree and remains so throughout the execution of the program.

 

(5/5)
Attachments:

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

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. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

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

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

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

. 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 Sea Ports. Here are the classes and their instance variables we wish to define:

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

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

704 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

625 Answers

Hire Me
expert
Husnain SaeedComputer science

614 Answers

Hire Me
expert
Atharva PatilComputer science

584 Answers

Hire Me
June
January
February
March
April
May
June
July
August
September
October
November
December
2025
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
00:00
00:30
01:00
01:30
02:00
02:30
03:00
03:30
04:00
04:30
05:00
05:30
06:00
06:30
07:00
07:30
08:00
08:30
09:00
09:30
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
22:00
22:30
23:00
23:30