class HashTable:
N # 哈希表的大小
key # 大小为 N 的表
h1(k):
return k mod N # key 除以 N 的余数
h2(k):
return 1 + (k mod (N-1))
# 哈希函数
hash(k, i):
return (h1(k) + i*h2(k)) mod N
# 插入键 k
insert(k):
i ← 0 # 冲突次数
while True:
pos ← hash(k, i)
if key[pos]是空余位置:
key[pos] ← k
return pos # 返回位置,结束
else:
i++ # 如果不是空余位置,则增加冲突次数,再次尝试