对于散列文件来说,其存储单位是什么?对于一个能存储m个桶,若需要存放的同义词大于m,则需要如何处理?现在假设一个文件有18个记录,其关键字分别为:30,11,27,04,19,86,73,89,32,05,103,58,45,67,77,81,08,48,

admin2010-04-24  30

问题 对于散列文件来说,其存储单位是什么?对于一个能存储m个桶,若需要存放的同义词大于m,则需要如何处理?现在假设一个文件有18个记录,其关键字分别为:30,11,27,04,19,86,73,89,32,05,103,58,45,67,77,81,08,48,假设桶的容量m=3,桶数b=7,现在要求用除余法做散列函数H(key)=key%7,请给出该散列文件的表示方法。

选项

答案磁盘上的文件记录通常是成组存放的,若干个记录组成一个存储单位,在散列文件中,这个存储单位叫做桶。 如果一个桶能放m个记录,则如果现在已经存放了m个记录时,继续存放记录就会产生“溢出”,当发生“溢出”时,一般采用拉链法,就是将第m+1个同义词存放在另外_个桶中,通常此桶就称为“溢出桶”,相应的前m个同义词存放的桶就称为是“基桶”,溢出桶和基桶大小相同。 根据散列函数,得到对应的关键字的散列地址为:2,4,6,4,5,2,3,5,4,5,5,2,3,4,0,4,1,6,则得到的散列文件表示如下

解析
转载请注明原文地址:https://jikaoti.com/ti/zwtaFFFM
本试题收录于: 数据结构题库理工类分类
0

随机试题
最新回复(0)