chen-w
7/16/2017 - 3:49 PM

hash

hash

// From string to int (complex version)
int hashfunc(String key) {
  return md5(key) % hash_table_size 
  // md5 algorithm is a widely used hash function producing a 128-bit hash value.
}

// easy version
int hashfunc(String key) {
  int sum = 0;
  for (int i = 0; i< key.length(); i++) {
    sum = sum * 33 + (int)(key.charAt(i)); 
    // 33 is generated from experiments. It create less hash conflict. 
    sum = sum % HASH_TABLE_SIZE;
  }
  return sum;
}