27、如果含有n个记录的HASH表中没有同义词,则查找成功的ASL为1。
27、如果含有n个记录的HASH表中没有同义词,则查找成功的ASL为1。
参考答案和解析
D
相关考题:
若对大小为N的有序顺序表进行顺序查找,当查找不成功时,平均查找长度为(59);当查找成功且表中仅有一个关键字等于欲查找的元素时,平均查找长度为(60)。A.NB.N+1C.N/2D.(N+1)/2
阅读以下函数说明、图和C程序代码,将C程序段中(1)~(6)空缺处的语句填写完整。[说明]散列文件的存储单位称为桶(BUCKET)。假如一个桶能存放m个记录,当桶中已有m个同义词(散列函数值相同)的记录时,存放第m+1个同义词会发生“溢出”。此时需要将第m+1个同义词存放到另一个称为“溢出桶”的桶中。相对地,称存放前m个同义词的桶为“基桶”。溢出桶和基桶大小相同,用指针链接。查找指定元素记录时,首先在基桶中查找。若找到,则成功返回,否则沿指针到溢出桶中进行查找。例如,设散列函数为Hash(Key)=Key mod7,记录的关键字序列为15,14,21,87,96,293,35,24, 149,19,63,16,103,77,5,153,145,356,51,68,705,453,建立的散列文件内容如图2-27所示。为简化起见,散列文件的存储单位以内存单元表示。函数InsertToHashTable(int NewElemKey)的功能是:若新元素NewElemKey正确插入散列文件中,则返回值0;否则返回值-1。采用的散列函数为Hash(NewElemKey)=NewElemKey%P,其中P设定基桶的数目。函数中使用的预定义符号如下。
在查找算法中,可用平均查找长度(记为ASL)来衡量一个查找算法的优劣,其定义为:此处Pi为表中第i个记录被查找的概率,Ci为查找第i个记录时同关键字比较的次数,n为表中记录数。以下叙述中均假定每一个记录被查找的概率相等,即Pi=//n(i=1,2,…,n)。当表中的记录连续存储在一个一维数组中时,可采用顺序查找与折半查找方法(折半查找要求表是按关键字有序排列的)。顺序查找时的ASL为(19),折半查找时的ASL为(20)。记录的关键字有序时,用二叉排序树查找记录,在最坏的情况下,ASL为(21)。当二叉排序树是一棵平衡树时,ASL为(22)。在平衡树上删除一个结点后可以通过旋转使其平衡,最坏的情形下需(23)次旋转。A.O(1)B.O(log2n)C.O(log2n2)D.O(nlog2n)E.O(n)
Hash表是用于数据存储的一种有效的数据结构,Hash表的查找复杂度依赖于Hash值算法的有效性,在最好的情况下,Hash表的查找复杂度为()。A.O(nlogn)B.O(logn)C.O(n)D.O(1)
单选题若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为()。A(n-1)/2Bn/2C(n+1)/2Dn