Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

For HashTables, how do you implement both separate chaining and open addressing into this interface: public interface HashTable { public void add(String key, V value);

For HashTables, how do you implement both separate chaining and open addressing into this interface:

public interface HashTable {

public void add(String key, V value);

public V remove(String key);

public V lookup(String key);

public Object[] getValuesList();

public V[] getSortedList(V[] list);

public void printReport();

}

The printReport() method should print to the console the following statistics: - The Load Fator, that is, the ratio of used to total number of buckets. - The longest chain in the table, that is, the maximum number of collisions for a particular bucket. - The Density Factor, that is, the ratio of elements stored elements to total number of buckets. - The Chanining Factor, that is, the average length of any chain in the table.

Here is the code for the hash functions that are to be implemented:

public int additiveHash(char[] key, int TABLE_SIZE) { int hash = 0; for (char c: key) { hash += c; } return hash % TABLE_SIZE; } public int rotationalHash(char[] key, int TABLE_SIZE) { int hash = 0; for (char c: key) { hash += (c << 7) ^ (c >> (TABLE_SIZE - 7)) ^ hash; } hash = Math.abs(hash); return hash % TABLE_SIZE; }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Essential SQLAlchemy Mapping Python To Databases

Authors: Myers, Jason Myers

2nd Edition

1491916567, 9781491916568

More Books

Students also viewed these Databases questions