主观题:
1、在散列表存储中,发生散列冲突的可能性与哪些因素有关?为什么?
在散列表存储中,发生散列冲突的可能性与装填因子α、所采用的散列函数、解决冲突的散列冲突函数三个因素有关。
这是因为:
(1)装填因子α是散列表中已存入的数据元素n与散列地址空间大小m的比值,即n/m,显然,当α越小时,冲突的可能性就越小,α越大(最大可取1)时,冲突的可能性就越大;
(2)若散列函数选择得当,就可使散列地址尽可能均匀地分布在散列地址空间上,从而减少冲突的发生;否则,若散列函数选择不当,就可能使散列地址集中于某些区域,从而加大冲突的发生;
(3)若解决散列冲突函数选择得当,可以减少再次发生散列冲突的可能性。