处理散列冲突的方法
1. 开放定址法 一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入。 发生冲突,另寻他处 我们把这种解决冲突的方法称为线性探测法。 我们在解决冲突的时候,还会碰到比如说一个数 48, 它所在的位置已经被占用,它只能往后延,但是又与后面的冲突 ,本来两个数一点关系都没有,但是发生冲突,这种现象称为堆积, 堆积的出现使得我们需要不断处理冲突,即48要不断向后延。 存入以及查找的效率都会大大降低。 ————优化方案: 改进 d i = 12 , -12 , 22, -22 ...... q2 , -q2 (q <= m/2),这样就等于可以是双向
用户评论