build a system to maintain information of a dictionary.
Your program should read a set of words and their relevant information from a
file named Words.txt. The user should be then able to enter words into the
dictionary with their relevant information.
The format of the input data is as follows:
Word: meaning1, meaning2, ... , meaningN / a synonym * an
antonym. N ≥ 1.
Example
old: advanced in age, aged, antique / ancient * new
To keep track of the dictionary, a computer program based on an AVL tree data
structure should be implemented.
1. You are required to implement a program to help creating the dictionary by
including the following operations of an AVL tree:
Read Words.txt file and create the dictionary (i.e., AVL Tree).
Insert a new word from user with all its associated data (up to three
meanings).
Find a word and give the user the option to update the information of the
word if found.
List words in the dictionary in lexicographic order with their associated
meanings, synonyms, and antonyms.
List all synonym and antonyms of a given word.
List all words that start with the same first letter in lexicographic order.
Delete a word from the dictionary.
Delete all words that start with a specific letter.
Save all words in file Dictionary.data.
2. Then create a Hash Table using the dictionary data of the previous step (use
words as keys) and implement the following functions on the hash table:
Print hashed table (i.e., print the entire table to the screen including
empty spots).
Print out table size.
Print out the used hash function.
Insert a new record into the hash table.
Search for a specific word.
Delete a specific record.
Save hash table back to file.