Question
One of the challenges in programs is to store data in a structure that allows fast and efficient searching. Hash tables provide this type of
One of the challenges in programs is to store data in a structure that allows fast and efficient searching. Hash tables provide this type of performance by storing data in buckets based on a value called a hash key. The bucket containing a specific data entry is identified by a hash key, which is generated by a hash function. Finding a data entry is then a simple matter of taking a hash key, determining which hash table bucket contains that key value, and then sequentially searching a relatively small linked list in the appropriate hash table bucket. Think of the entire hash table as a list full of small linked lists that are each identified by a value calculated by a hash function that takes a key value as input and returns a bucket identifier.
For this assignment, you will complete the following:
Create a flowchart to demonstrate the operation of a hash structure. This flowchart should include operations to insert and remove entries in the hash structure.
Create a flowchart to demonstrate the operation of the hash function (the hash key generator).
Write a complete Java program to implement a hash table data structure for String data.
Your program should demonstrate insertion and removal of data.
A linked list must be used in the hash buckets to resolve duplicate data collisions.
Note: You may not use the Java HashTable or HashMap or other similar built-in Java data structures for your solution. The intention of this assignment is for you to demonstrate your ability to write the code for your own hash table functionality.
Submit your flowcharts and Java source code in a single MS Word document for grading.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started