A community for students.
Here's the question you clicked on:
 0 viewing
 2 years ago
In Lecture 8, we are shown a hashing implementation (2nd one) which has trick for converting ch to ints. A loop (for c in str) has:
val = val + shift*ord(c)
shift +=1
I understand the ord() part, I'm just wondering why a multiplier (shift) is applied as well before adding to the val sum? Why not just use ord(c)?
 2 years ago
In Lecture 8, we are shown a hashing implementation (2nd one) which has trick for converting ch to ints. A loop (for c in str) has: val = val + shift*ord(c) shift +=1 I understand the ord() part, I'm just wondering why a multiplier (shift) is applied as well before adding to the val sum? Why not just use ord(c)?

This Question is Open

Ante
 2 years ago
Best ResponseYou've already chosen the best response.0I can only guess that the shift is there to ensure that converting different strings produces different values. (I assume we don't want to end up with fake positive results when searching for certain strings) But I don't know how exactly the shift is solving the problem and Guttag really did not elaborate on that...

Feet_Wet
 2 years ago
Best ResponseYou've already chosen the best response.0That was my guess, too, but I don't see a guarantee of uniqueness there.
Ask your own question
Sign UpFind more explanations on OpenStudy
Your question is ready. Sign up for free to start getting answers.
spraguer
(Moderator)
5
→ View Detailed Profile
is replying to Can someone tell me what button the professor is hitting...
23
 Teamwork 19 Teammate
 Problem Solving 19 Hero
 Engagement 19 Mad Hatter
 You have blocked this person.
 ✔ You're a fan Checking fan status...
Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.