查找 - 习题
若平衡二叉树的高度为6,且所有非叶结点的平衡因子均为 1,则该平衡二叉树的结点总数为 ( )
A. 12 B. 20 C. 32 D. 33
解: 最小二叉平衡树的节点的公式如下 F(h)=F(h-1)+F(h-2)+1,h为数深度,故选 B
已知一个长度为16的顺序表L,其元素按关键字有序排列,若采用折半查找法查找一个 L中 不存在的元素,则 关键字的 比较次数最多是 ( )
A. 4 B. 5 C. 6 D. 7
解: 16个二叉排序树的深度为5,查找一个不存在的最多查到最后一层,即5,故选 B
为提高散列( Hash )表的查找效率,可以采取的正确措施是 ( )
Ⅰ .增大装填(载)因子
Ⅱ .设计冲突(碰撞)少的散列函数
Ⅲ .处理冲突(碰撞)时避免产生聚集(堆积)现象
A. 仅Ⅰ B. 仅Ⅱ C. 仅Ⅰ、Ⅱ D. 仅Ⅱ、Ⅲ
解:
- 减小装填因子可以提高散列表的查找效率;处理冲突(碰撞)时可以减少,但不能“避免”产生聚集(堆积)现象,故选 B
用哈希(散列)方法处理冲突(碰撞)时可能出现堆积(聚集)现象,下列选项中,会受堆积现象直接影响的是 ( )
A. 存储效率 B. 散列函数 C. 装填(装载)因子 D. 平均查找长度
解:
- 装填因子不会受影响,其反映的是空间利用率;平均查找长度之所以受影响,是因为如果堆积比较严重(特别是在冲突处理之后出现堆积),每次查找都需要进行多次的比较才能找到所需要的值,故选 D
将两个各有n个元素的有序表归并成一个有序表,其最多的比较次数是 ( )
A. 2n B. n C. 2n-1
解:
- 最坏的情况实质上是让两指针都走完各自的链表,同时某链肯定先走完,因为一次只移动一个指针,另一个链表无论怎样都会至少少走一步,这就是n+n-1的含义,故选 C;而最少需要比较的次数则为n次
顺序查找适合于存储结构为 ( ) 的线性表
A. 顺序存储结构或链式存储结构
B. 散列存储结构
C. 索引存储结构
D. 压缩存储结构
解:
- 选 A
在下列查找方法中,平均查找速度最快的是 ( )
A. 顺序查找 B. 折半查找 C. 分块查找 D. 二叉排序树查找
解: 选 D
折半查找过程所对应的判定树是一棵 ( )
A. 最小生成树 B. 平衡二叉树 C. 完全二叉树 D. 哈夫曼树
解:选 B
对于二叉排序树下面的说法 ( ) 是正确的
A. 二叉排序树是动态树表,查找不成功时插入新结点时,会引起树的重新分裂和组合
B. 对二叉排序树进行层序遍历可得到有序序列
C. 用逐点插入法构造二叉排序树时,若先后插入的关键字有序,二叉排序树的深度最大
D. 在二叉排序树中进行查找,关键字的比较次数不超过结点数的 1/2
解: 选 C
假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行多少次探测?( )
A. k-1 次 B. k 次 C. k+1 次 D. k(k+1)/2 次
解: 选 D
完全二叉树肯定是平衡二叉树 ( )
解: 错。平衡二叉树是二叉排序树,完全二叉树没有排序,那肯定不会是平衡二叉排序树
哈希函数越复杂越好,因为这样随机性好,冲突概率小 ( )
**
解: 错。哈希函数的构造不是越复杂越好,因为往往哈希函数越复杂,取得关键字地址所消耗的时间越长
在有序表 A[1...20] 中,按二分查找方法进行查找,则查找长度为 5 的元素个数是( )
解: 5。画出二叉i查找树,所在层次就是查找长度,第五层有 5 个元素查找长度为 5 的有 5 个
执行顺序查找时,线性表的存储方式可以是( ),二分法查找时,要求线性表( ),分块查找时要求线性表( ),而散列表的查找,要求线性表的存储方式是( )
解: 顺序存储或链式存储;顺序存储且有序;块间有序,块内顺序存储;散列存储
AVL 树( )是完全二叉树,完全二叉树( )是 AVL 树
解: 不一定;一定
一棵含有 15 个关键字的 4 阶 B 树,其非叶结点数最少不能少于( )个,最多可以为( )个
解:
- 5,15。结点数最少即每个结点存储关键字个数最多,4 阶 B 树最多储存 4-1 个关键字,即最少 5 个非叶结点,最多时每个结点储存一个关键字

浙公网安备 33010602011771号