散列,散列函数采用除留余数法,解决冲突使用链接法,每个槽的链表为带头结点的双向链表。使用这种方法的关键是选择一个合适的除数m,可以选择m是与2的整数幂不太接近的质数(主要是在将字符串转化为整数的过程中)。例如,如果哈希表中要存放2000个字符串,每个字符有8位,一次不成功的查找需要大约检查3个元素。则可以选择m=701,因为接近于装填因子a=2000/3,并且701离2的整数幂都不太近(512(2^9)<m<1024(2^10))
相关资料:
http://baike.baidu.com/view/1320746.htm
http://blog.youkuaiyun.com/flowshell/article/details/5996983
/*链接法解决哈希散列碰撞问题*/
#include <stdio.h>
#include <stdlib.