问题
问答题
对于散列文件来说,其存储单位是什么对于一个能存储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,则得到的散列文件表示如下: