查找哈希(Hash)表,解决冲突的方法有( )。

admin2014-08-29  29

问题 查找哈希(Hash)表,解决冲突的方法有(  )。

选项 A、链地址法
B、线性探测再散列法
C、直接地址法
D、除留余数法

答案A

解析 处理冲突的方法(1)开放定址法:从发生冲突的那个单元开始,按照一定的次序,从散列表中查找出一个空闲的存储单元,把发生了冲突的待插入元素存到该单元中。重新确定地址的方法为:Hi=(H(key)+di)%m i=1,2,…,k  (k<=m一1)其中:H(key)为哈希函数;m为哈希表的长度;di为增量序列,可有三种取法,对应三种方法:①线性探测再散列:di=1,2,3,…,m一1;(容易产生“二次聚集”)②二次探测再散列:di=12,一12,22,一22,32,一32,…,±k2(k<=m/2);③伪随机探测再散列:di=伪随机数序列。(2)再哈希法:Hi=RHi(key),i=1,2,3,…,kRHi都是不同的哈希函数,即在同义词发生地址冲突时利用另一个哈希函数计算地址,直到冲突不再发生。这种方法不易产生“二次聚集”,但增加了计算时间。(3)链地址法:将所有关键字为同义词的记录存储在同一线性链表中。(4)建立一个公共溢出区。
转载请注明原文地址:https://kaotiyun.com/show/pyvR777K
0

最新回复(0)