在python中,哈希表的作用是在建立索引时,把大量的关键词尽可能平均的分为小区,以提高搜索效率。
如果按照关键词字符串的首字母来分,像字典一样,就会出现各区数量明显不平均。 所以哈希函数用字符串中各个字符的对应ord()数字之和,对小区总数做模/余数,就得到比较均匀的分区。 有点神奇
def hash_string(keyword,buckets):
s = 0
for k in keyword:
s = s + ord(k)
return s%buckets
print hash_string('u',12)