第17讲 线性表的查找 课堂互动 显示答案 | 返回首页

作者:欧新宇(Xinyu OU)

最后更新:2023-12-18


【课前自测17】

【课堂互动17.1】顺序查找

1. 顺序查找适合于存储结构为( )的线性表。
A. 顺序存储结构或链式存储结构
B. 散列存储结构
C. 索引存储结构
D. 压缩存储结构

2. 由 n 个数据元素组成的两个表: 一个递增有序, 一个无序。采用顺序查找算法,对有序表从头开始查找,发现当前元素已不小于待查元素时,停止查找,确定查找不成功,已知查找任意一个元素的概率是相同的,则在两种表中成功查找( )。
A. 平均时间后者小
B. 平均时间两者相同
C. 平均时间前者小
D. 无法确定

3. 对长度为n 的有序单链表,若查找每个元素的概率相等,则顺序查找表中任意一个元素的查找成功的平均查找长度为( )。
A.n/2
B.(n+1)/2
C.(n-1)/2
D.n/4

4. 对长度为3的顺序表进行查找,若查找第一个元素的概率为1/2,查找第二个元素的概率为1/3,查找第三个元素的概率为1/6,则查找任意一个元素的平均查找长度为( )。
A. 5/3
B. 2
C. 7/3
D. 4/3

【课堂互动17.2】折半查找

1. 下列关于二分查找的叙述中,正确的是( )。
A. 表必须有序,表可以顺序方式存储,也可以链表方式存储
B. 表必须有序且表中数据必须是整型、实型或字符型
C. 表必须有序,而且只能从小到大排列
D. 表必须有序,且表只能以顺序方式存储

2. 在有11个元素的有序表A[1,2,…,11]中进行折半查找 (low+high)/2\lfloor (low+high)/2 \rfloor,查找元素A[11] 时,被比较的元素下标依次是( )。
A. 6, 8, 10, 11
B. 6, 9, 10, 11
C. 6, 7, 9, 11
D. 6, 8, 9, 11

3. 已知有序表(13,18,24,35,47,50,62,83,90,115,134),当二分查找值为90的元素时,查找成功的元素比较次数为( )。
A. 1
B. 2
C. 4
D. 6

4. 已知一个长度为16的顺序表,其元素按关键字有序排列,若采用折半查找算法查找一个不存在的元素,则比较的次数至少和至多分别是( )。
A. 3 4
B. 4 5
C. 5 6
D. 5 5

5. 具有12个关键字的有序表中,对每个关键字的查找概率相同,折半查找算法查找成功的平均查找长度为( )。
A. 37/12
B. 35/12
C. 39/13
D. 49/13

6.【2010统考真题】已知一个长度为16的顺序表L,其元素按关键字有序排列,若采用折半查找法查找一个L中不存在的元素,则关键字的比较次数最多是( )。
A. 4
B. 5
C. 6
D. 7

7.【2015统考真题】下列选项中,不能构成折半查找中关键字比较序列的是( )。
A. 500, 200, 450, 180
B. 500, 450, 200, 180
C. 180, 500, 200, 450
D. 180, 200, 500, 450

【课堂互动17.3】分块查找

1. 采用分块查找时,数据的组织方式为( )。
A. 数据分成若干块,每块内数据有序
B. 数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小) 的数据组成索引块
C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块
D. 数据分成若干块,每块(除最后一块外)中数据个数需相同

2. 对有2500个记录的索引顺序表(分块表)进行查找,最理想的块长为( )。
A. 50
B. 125
C. 500
D.「log₂2500]

2. 设顺序存储的某线性表共有123个元素,按分块查找的要求等分为3块。若对索引表采用顺序查找法来确定子块,且在确定的子块中也采用顺序查找法,则在等概率情况下,分块查找成功的平均查找长度为( )。
A. 21
B. 23
C. 41
D. 62

3. 为提高查找效率,对有65025个元素的有序顺序表建立索引顺序结构,在最好情况下查找到表中已有元素最多需要执行( )次关键字比较。
A. 10
B. 14
C. 16
D. 21

【扩展练习17】

1. 折半查找和二叉排序树的时间性能( )。
A. 相同
B. 有时不相同
C. 完全不同
D. 无法比较

2. 具有12个关键字的有序表中,对每个关键字的查找概率相同,折半查找查找失败的平均查找长度为( )。
A. 37/12
B. 35/12
C. 39/13
D. 49/13

3. 在一个顺序存储的有序线性表上查找一个数据时,既可以采用折半查找,也可以采用顺序查找,但前者比后者的查找速度( )。
A. 必然快
B. 取决于表是递增还是递减
C. 在大部分情况下要快
D. 必然不快

4. 对表长为n的有序表进行折半查找,其判定树的高度为( )。
A. log2(n+1)\lceil log_2(n+1) \rceil
B. log2(n+1)1\lfloor log_2 (n+1) \rfloor - 1
C. log2n\lceil log_2 n \rceil
D. log2n1\lfloor log_2 n \rfloor - 1

5.【2017统考真题】下列二叉树中,可能成为折半查找判定树(不含外部结点)的是( )。 🏷️Img_Lec1701

6. 折半查找过程所对应的判定树是一棵( )。
A. 最小生成树
B. 平衡二叉树
C. 完全二叉树
D. 满二叉树

7.【2016统考真题】在有n(n>1000)个元素的升序数组A中查找关键字x。查找算法的伪代码如下所示。

k=0;
while(k<n 且 A[k]<x)
    k = k + 3;
if(k<n 且 A[k]==x)
    查找成功;
else if(k-1<n  且 A[k-1]==x)
    查找成功;
else if(k-2<n  且 A[k-2]==x)
    查找成功;
else
    查找失败;

本算法与折半查找算法相比,有可能具有更少比较次数的情形是( )。
A. 当 x 不在数组中
B. 当 x 接近数组开头处
C. 当 x 接近数组结尾处
D. 当 x 位于数组中间位置

第17讲 线性表的查找 课堂互动 显示答案 | 返回首页