Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.39 KB | None | 0 0
  1. func hashByMultiplicationMethod(key string, tableSize int) int32 {
  2. keyChars := []rune(key)
  3. var keyChar int32
  4. constantA := 0.618
  5. for i := 0; i < len(keyChars); i++ {
  6. // try to make hashcode become different
  7. keyChar = keyChar + keyChars[i] + keyChar%11
  8. }
  9. hashResult := float64(tableSize) * math.Mod(float64(keyChar)*constantA, 1)
  10. return int32(math.Floor(hashResult))
  11. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement