
Concept explainers
write a simple hashing function that uses addition and multiplication and then find a pair of strings that will return the same hash value for different strings (i.e you will cause a Hash Collision). The
Here is the code that computes your hash:
while True:
txt = input("Enter a string: ")
if len(txt) < 1 : break
hv = 0
pos = 0
for let in txt:
pos = ( pos % 2 ) + 1
hv = (hv + (pos * ord(let))) % 1000000
print(let, pos, ord(let), hv)
print(hv, txt)
For simplicity we will only use upper and lower case ASCII letters in our text strings.
Enter a string: ABCDE
A 1 65 65
B 2 66 197
C 1 67 264
D 2 68 400
E 1 69 469
469 ABCDE
Enter a string: BACDE
B 1 66 66
A 2 65 196
C 1 67 263
D 2 68 399
E 1 69 468
468 BACDE

Trending nowThis is a popular solution!
Step by stepSolved in 4 steps with 3 images

- The Java hash function for Strings computes a hash code based on a fixed maximum number of characters of the string. Given that Strings have no meaningful upper bound in length, describe how an effective, constant-time hashing algorithm can be constructed. (Hint: If you were to pick, say, eight characters to represent a string of length l, which would you choose?)arrow_forwardDouble Hashing Given input {19, 29, 7, 116, 44, 8, 45}, a hash function h(x) = x mod 11 and the double hash h2(key) = 7 - (key mod 7). Show the resulting hash table using double hashing. copyAndPaste the table into the textBox for your nice answer. Please consider showing work for the h(x). [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]arrow_forwardThe hash function h(k)= [(m(kA mod 1)] for A = 2-³ is used to insert the keys 61, 62, 63, 64, and 65 into a hash table of size m = 1000. The order of the hash codes in the table are given by a. 625, 125, 0, 750, 875 b. 625, 750, 625, 125, 0 c. 625,125, 0, 875, 750 d. 625, 750, 875, 0, 125 e. 625, 750, 125, 875, 0arrow_forward
- Use pythonarrow_forwardI am trying to implement a hash table of key-value pairs, where the key determines the location of the pair in the hash table, the key is what the hash function is used on. The hash table that I am trying to implement will use separate chaining (with unordered linked lists) for collision resolution. I need help changing the code where: 1. The "search" method of the code returns the node that was found or "None" 2. The "Node" implementation has a "key" and "value" member This is what I have so far class Node: def __init__(self,initdata): self.data = initdata self.next = None def getData(self): return self.data def getNext(self): return self.next def setData(self,newdata): self.data = newdata def setNext(self,newnext): self.next = newnext class UnorderedList: def __init__(self): self.head = None def isEmpty(self): return self.head == None def add(self,item): temp = Node(item) temp.setNext(self.head)…arrow_forwardGiven two arrays of integers, write a function to find the intersection of the arrays. The intersection should include only distinct elements and the result should be in sorted order. Solve this problem using the hash set approach.arrow_forward
- Implement a commonly used hash table in a program that handles collision using linear probing. Using (K mod 13) as the hash function, store the following elements in the table: {1, 5, 21, 26, 39, 14, 15, 16, 17, 18, 19, 20, 111, 145, 146}.arrow_forward- In class HashTable implement a hash table and consider the following:(i) Keys are integers (therefore also negative!) and should be stored in the tableint[] data.(ii) As a hash function take h(x) = (x · 701) mod 2000. The size of the table istherefore 2000. Be careful when computing the index of a negative key. Forexample, the index of the key x = −10 ish(−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. Themethod returns true, if the insertion is successful. If an element is already inthe table, the function insert should return false.(iv) Implement search, which takes an integer and finds it in the table. The methodreturns true, if the search is successful and false otherwise.(v) Implement delete, which takes an integer and deletes it form the table. Themethod returns true, if the deletion is successful and false otherwise.(vi)…arrow_forwardWrite the lines of code to insert the key (book's ISBN) and value ("book") pair into "my_hash_table".arrow_forward
- In this task, two hash tables should should be implemented. You can follow the followinginstructions:- In class HashTable implement a hash table and consider the following:(i) Keys are integers (therefore also negative!) and should be stored in the tableint[] data.(ii) As a hash function take h(x) = (x · 701) mod 2000. The size of the table istherefore 2000. Be careful when computing the index of a negative key. Forexample, the index of the key x = −10 ish(−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. Themethod returns true, if the insertion is successful. If an element is already inthe table, the function insert should return false.(iv) Implement search, which takes an integer and finds it in the table. The methodreturns true, if the search is successful and false otherwise.(v) Implement delete, which takes an integer and deletes it…arrow_forward5. Here are keys and their hash values, for hashing using h(k)= k mod m Where m = 13 130 108 K H(K) 9 0 4 Use double hashing to resolve the collision with h2(k)= 10 - (k mod 10) Construct the hash table 100 78 0 35 9arrow_forwardIf you have a chaining hash table of size T, you may use it to find out how many linked lists it contains. The Separate Chaining hash table can store what kind of basic data structures?arrow_forward
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY





