Get Help Please Info Provided Lesson Psuedocode Bold Included 4 Steps Completion Develop Q43787986
Can I get help with this please?
No more info provided in lesson.
The psuedocode (below in bold) is included after #4″Steps for completion” .
Develop an algorithm to search and remove data from a hash tableusing the open addressing technique. Aim: Implement a hash tableusing open addressing with linear probing.
To solve this activity, you have to implement the followingmethods in the OpenAddrHashTable.java file:
public void put(K key, V value) { //… } private int searchPosition(K key) { //… } public void remove(K key) { //… } public Optional get(K key) { //… }
Steps for Completion
- Study the pseudocode shown in Snippet 3.3 and Snippet 3.4(shown below) and implement them in Java.
- The container class OpenAddrPair will hold your key and valuein the hash table.
- Have a flag on this container to indicate when an item isdeleted.
- Use this flag in the put operation to overwrite it if it isdeleted. You can use this flag to optimize your get method usingthe filter method.
insert(key, value, array) s = length(array) hashValue = hash(key, s) i = 0 while (i < s and array[(hashValue + i) mod s] != null) i = i + l if (i < s) array[(hashValue + i) mod s] = (key, value)
Snippet 3.3: Psuedocode for inserting using linearprobing
search(key, array) s = length(array) hashValue = hash(key, s) i = 0 while (i < s and array[(hashValue + i) mod s] != null and array[(hashValue + i) mod s].key != key) i = i + 1 keyValue = array[(hashValue + i) mod s] if (keyValue != null && keyValue.key == key) return keyValue.value else return null
Snippet 3.4: Solution pseudocode for searchingusing linear probing
Tasks
New OpenAddrHashTable objects are empty.
1 Implement the following methods in the OpenAddrHashTableclass:
- put
- searchPosition
- get
- remove
Code given:
import java.util.Optional;
public class OpenAddrHashTable implements HashTable {
private final HashProvider hashProvider;
private Pair[] array;
public OpenAddrHashTable(int capacity, HashProviderhashProvider) {
array = new Pair[capacity];
this.hashProvider = hashProvider;
}
public void put(K key, V value) {
// write your code here
}
private int searchPosition(K key) {
// write your code here
}
public void remove(K key) {
// write your code here
}
public Optional get(K key) {
// write your code here
return Optional.empty();
}
}
Expert Answer
Answer to Can I get help with this please? No more info provided in lesson. The psuedocode (below in bold) is included after #4 “S…
OR