In this task, two hash tables should should be implemented. You can follow the following instructions: - In class HashTable implement a hash table and consider the following: (i) Keys are integers (therefore also negative!) and should be stored in the table int[] data. (ii) As a hash function take h(x) = (x · 701) mod 2000. The size of the table is therefore 2000. Be careful when computing the index of a negative key. For example, the index of the key x = −10 is h(−10) = (−7010) mod 2000 = (2000(−4) + 990) mod 2000 = 990. Hence, indices should be non-negative integers between 0 and 1999! (iii) Implement insert, which takes an integer and inserts it into a table. The method returns true, if the insertion is successful. If an element is already in the table, the function insert should return false. (iv) Implement search, which takes an integer and finds it in the table. The method returns true, if the search is successful and false otherwise. (v) Implement delete, which takes an integer and deletes it form the table. The method returns true, if the deletion is successful and false otherwise. (vi) Collision should be solved by chaining. However, not as usually by linked list, but with a hash table implemented in class HashTable2 (combined structure). - In class HashTable2 implement a hash table and consider the following: (i) Keys are integers (therefore also negative!) and should be stored in the table int[] data. (ii) As a hash function take h(x) = (x·53) mod 100. The size of the table is therefore 100. As above be careful to compute the index of a negative key correctly. In this case indices should be non-negative integers between 0 and 99! 1 (iii) Implement insert, which takes an integer and inserts it into a table. The method returns true, if the insertion is successful. If an element is already in the table, the function insert should return false. When inserting an element into a full table, the function insert should return false. (iv) Implement search, which takes an integer and finds it in the table. The method returns true, if the search is successful and false otherwise. (v) Implement delete, which takes an integer and deletes it form the table. The method returns true, if the deletion is successful and false otherwise. (vi) Collision should be solved by open-addressing with linear probing. Be careful when deleting an element. You need a special character to indicate that the element was deleted so that the function search will work correctly. Also, be careful when inserting new element, since it can be inserted into the place indicated with the special character. //hashtable2 package psa.naloga3; /* * Razred mora imeplementirati podatkovno strukturo Razprsilne tabele. * Za funkcijo uporabite: h(x) = x * 53 mod 100 * V primeru kolizij uporabite LINEARNO NASLAVLJANJE. */ public class HashTable2 { int[] data; /* * Metoda sprejme število in ga vstavi v tabelo. Metoda vrne true, ce je * bilo ustavljanje uspešno in false sicer */ public boolean insert(int key) { throw new UnsupportedOperationException("To funkcijo morate implementirati"); } /* * Metoda sprejme število in ga poišče v tabeli. Metoda vrne true, ce je * bilo ustavljanje uspešno in false sicer */ public boolean search(int key) { throw new UnsupportedOperationException("To funkcijo morat

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

In this task, two hash tables should should be implemented. You can follow the following
instructions:
- In class HashTable implement a hash table and consider the following:
(i) Keys are integers (therefore also negative!) and should be stored in the table
int[] data.
(ii) As a hash function take h(x) = (x · 701) mod 2000. The size of the table is
therefore 2000. Be careful when computing the index of a negative key. For
example, the index of the key x = −10 is
h(−10) = (−7010) mod 2000 = (2000(−4) + 990) mod 2000 = 990.
Hence, indices should be non-negative integers between 0 and 1999!
(iii) Implement insert, which takes an integer and inserts it into a table. The
method returns true, if the insertion is successful. If an element is already in
the table, the function insert should return false.
(iv) Implement search, which takes an integer and finds it in the table. The method
returns true, if the search is successful and false otherwise.
(v) Implement delete, which takes an integer and deletes it form the table. The
method returns true, if the deletion is successful and false otherwise.
(vi) Collision should be solved by chaining. However, not as usually by linked list,
but with a hash table implemented in class HashTable2 (combined structure).
- In class HashTable2 implement a hash table and consider the following:
(i) Keys are integers (therefore also negative!) and should be stored in the table
int[] data.
(ii) As a hash function take h(x) = (x·53) mod 100. The size of the table is therefore
100. As above be careful to compute the index of a negative key correctly. In
this case indices should be non-negative integers between 0 and 99!
1
(iii) Implement insert, which takes an integer and inserts it into a table. The
method returns true, if the insertion is successful. If an element is already in
the table, the function insert should return false. When inserting an element
into a full table, the function insert should return false.
(iv) Implement search, which takes an integer and finds it in the table. The method
returns true, if the search is successful and false otherwise.
(v) Implement delete, which takes an integer and deletes it form the table. The
method returns true, if the deletion is successful and false otherwise.
(vi) Collision should be solved by open-addressing with linear probing. Be careful
when deleting an element. You need a special character to indicate that the
element was deleted so that the function search will work correctly. Also,
be careful when inserting new element, since it can be inserted into the place
indicated with the special character.

//hashtable2
package psa.naloga3;

/*
* Razred mora imeplementirati podatkovno strukturo Razprsilne tabele.
* Za funkcijo uporabite: h(x) = x * 53 mod 100
* V primeru kolizij uporabite LINEARNO NASLAVLJANJE.
*/
public class HashTable2 {

int[] data;

/*
* Metoda sprejme število in ga vstavi v tabelo. Metoda vrne true, ce je
* bilo ustavljanje uspešno in false sicer
*/
public boolean insert(int key) {
throw new UnsupportedOperationException("To funkcijo morate implementirati");
}

/*
* Metoda sprejme število in ga poišče v tabeli. Metoda vrne true, ce je
* bilo ustavljanje uspešno in false sicer
*/
public boolean search(int key) {
throw new UnsupportedOperationException("To funkcijo morate implementirati");
}

/*
* Metoda sprejme število in ga izbriše iz tabele. Metoda vrne true, ce je
* bilo ustavljanje uspešno in false sicer
*/
public boolean delete(int key) {
throw new UnsupportedOperationException("To funkcijo morate implementirati");
}
}

//hashtable
package psa.naloga3;

/*
* Razred mora imeplementirati podatkovno strukturo Razprsilne tabele (HashTable).
* Za funkcijo uporabite: h(x) = x * 701 mod 2000
* V primeru kolizij uporabite VERIZENJE in sicer kot Slovar uporabite podatkovno
* strukturo Razprsilne tabele, ki ga morate implementirati (razred HashTable2).
* Pazite, ker je lahko ključ tudi negativno število
*/
public class HashTable {
HashTable2[] data;

/*
* Metoda sprejme število in ga vstavi v tabelo. Metoda vrne true, ce je
* bilo ustavljanje uspešno in false sicer
*/
public boolean insert(int key) {
throw new UnsupportedOperationException("To funkcijo morate implementirati");
}

/*
* Metoda sprejme število in ga poišče v tabeli. Metoda vrne true, ce je
* bilo ustavljanje uspešno in false sicer
*/
public boolean search(int key) {
throw new UnsupportedOperationException("To funkcijo morate implementirati");
}

/*
* Metoda sprejme število in ga izbriše iz tabele. Metoda vrne true, ce je
* bilo ustavljanje uspešno in false sicer
*/
public boolean delete(int key) {
throw new UnsupportedOperationException("To funkcijo morate implementirati");
}
}

Expert Solution
steps

Step by step

Solved in 6 steps

Blurred answer
Knowledge Booster
Hash Table
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education