A community for students.

    Here's the question you clicked on:

    55 members online
    • 0 replying
    • 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)?

    • This Question is Open
    1. Ante
      • 2 years ago
      Best Response
      You've already chosen the best response.
      Medals 0

      I 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...

    2. Feet_Wet
      • 2 years ago
      Best Response
      You've already chosen the best response.
      Medals 0

      That was my guess, too, but I don't see a guarantee of uniqueness there.

    3. Not the answer you are looking for?
      Search for more explanations.

      • Attachments:

    Ask your own question

    Sign Up
    Find more explanations on OpenStudy
    Privacy Policy

    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...


    • Teamwork 19 Teammate
    • Problem Solving 19 Hero
    • 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.

    This is the testimonial you wrote.
    You haven't written a testimonial for Owlfred.