线性探查法是什么

来源:百度知道 编辑:UC知道 时间:2024/06/12 01:14:16
设有一个含有13个元素的Hash表(O~12),Hash函数是:H(key)=key % 13,其中%是求余数运算。用线性探查法解决冲突,则对于序列(2、8、31、20、19、18、53、27),18应放在第几号格中( ) 。
A) 5 B) 9 C) 4 D) 0
1答案
2为什么?
3 hash表是什么?
4线性探查法是什么?
简洁点也无所谓
先谢了

选A
H(key)=key % 13,对于序列(2、8、31、20、19、18、53、27)的余数结果为:2、8、7、7、6、5、1、1,同一个桶不能重复存放,要向后移一位,即数31存放在桶7,桶8中也存放了数8,那么数20要存放在桶9,以此类推,数18存放在桶5中。
hash是散列表的意思,是表示集合和字典的一种有效方法,它提供了一种完全不同的存储和搜索方式,用以加快搜索速度。存储时它会经过一种散列计算,再按照计算结果存放在相应的存储单元中。
线性探查法是处理冲突的一种方法,如上面的例子,计算存放时会出现两个数争一个桶,那么就要用这个方法来解决。
会了吧,我也是刚学会,现学现卖。