判断题
1.关键字可以唯一地标识一个数据元素。
若此关键字可以唯一地标识一个记录,则称此关键字为主关键字。 反之称为次关键字。
2.如果顺序表中各元素的查找概率相同,在顺序查找时,查找不成功的平均查找长度因元素有序排列或无序排列情况的不同而不同。
*3.m阶B树中每个非终端结点至少有m/2个子树。
4.若二叉排序树有n个结点,其关键字互不相等,则不论其形态如何,都必然有n种查找成功的情形和n+1种查找失败的情形。
5. 对散列表进行查找时,如果该元素不存在表中,需要遍历所有表中元素后才能判断查找失败。
遇到空值即可,不必遍历所有表中元素。
6.如果要求一个线性表既能快速查找,又能适应动态变化的要求,最好采用哈希查找。
分块查找比较好。
7.B-树的查找过程是先在一个结点内部的关键字中寻找,再顺着指向子树的指针向下寻找。在一个结点内查找时,只能采用顺序查找方法。
8.散列表的装填因子 α 越小,发生冲突的可能性越大,反之 α 越大,发生冲突的可能性越小。
α越小,发生冲突的可能性就越小。
9.散列表中二次聚集指的是散列表中出现的非同义词冲突。
- 一次聚集:散列表中的元素占据的单元聚集形成一些区块,但同时表的其他部分相对较空
- 二次聚集:散列到同一位置上的元素将探测相同的备选单元
选择题
1.对于长度为n的有序单链表,若查找每个元素的概率相等,则顺序查找表中任一元素的查找成功的平均查找长度为( )
A、n/2
B、(n+1)/2
C、(n-1)/2
D、n/4
比较次数分别为1,2,3,4,5,6,......,n。查找成功的平均查找长度为(1/n)*n(n+1)/2
2.折半查找与二叉排序树的时间性能( )
A、相同
B、有时不相同
C、完全不相同
D、不定
3.二叉树为二叉排序树的( )条件是其任一结点的值均大于其左子女的值,小于其右子女的值
A、充分不必要
B、必要不充分
C、充分必要
D、既不充分也不必要
二叉排序树可能是一棵空树
4.在顺序存储的线性表R[n]上进行顺序查找,设查找成功和查找不成功的概率相等,各占1/2,则总平均查找长度为( )
A、(n+1)/2
B、3(n+1)/4
C、n
D、n(n+1)/2
5.从19个元素中查找其中任意一个元素,如果最多进行4次元素之间的比较,则采用的查找方法只可能是( )
A、分块查找
B、折半查找
C、散列查找
D、二叉排序树
6.以下关于散列表的说法正确的是( )
A、所有记录都按关键码有序排列
B、所有记录可以顺序存取
C、存取速度快但占用存储空间较多
D、若装填因子小,查找速度可达线性级
散列表是一种通过计算存储位置来访问记录的数据结构,它具有存取速度快的特点,但是需要占用较多的存储空间,因为它需要预留出一定的空间来防止发生散列冲突
7.散列表采用链地址法解决冲突,查找成功的平均查找长度( )
A、直接与关键字个数有关
B、直接与表的长度有关
C、直接与装填因子有关
D、直接与散列函数有关
C、直接与装填因子有关。散列表采用链地址法解决冲突时,平均查找长度与装填因子有关。装填因子是指散列表中已有的关键字数与散列表长度的比值,装填因子越大,冲突越多,平均查找长度也就越大。