数据结构练习第八章查找.docx

上传人:b****8 文档编号:28425031 上传时间:2023-07-13 格式:DOCX 页数:80 大小:109.57KB
下载 相关 举报
数据结构练习第八章查找.docx_第1页
第1页 / 共80页
数据结构练习第八章查找.docx_第2页
第2页 / 共80页
数据结构练习第八章查找.docx_第3页
第3页 / 共80页
数据结构练习第八章查找.docx_第4页
第4页 / 共80页
数据结构练习第八章查找.docx_第5页
第5页 / 共80页
点击查看更多>>
下载资源
资源描述

数据结构练习第八章查找.docx

《数据结构练习第八章查找.docx》由会员分享,可在线阅读,更多相关《数据结构练习第八章查找.docx(80页珍藏版)》请在冰豆网上搜索。

数据结构练习第八章查找.docx

数据结构练习第八章查找

数据结构练习第八章查找

1.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为<>

A.1,2,3B.9,5,2,3

C.9,5,3D.9,4,2,3

2.设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为〔〕.

A.O<1>B.OC.OD.O

3.在二叉排序树中插入一个结点的时间复杂度为〔〕.

A.O<1>B.OC.OD.O

4.设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过〔〕.

A.log2n+1B.log2n-1C.log2nD.log2

5.设有序表中有1000个元素,则用二分查找查找元素X最多需要比较〔〕次.

A.25B.10C.7D.1

6.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为〔〕.

A.OB.OC.OD.O<1og2n>

7.设二叉排序树上有n个结点,则在二叉排序树上查找结点的平均时间复杂度为〔〕.

A.OB.OC.OD.O<1og2n>

8.〔〕二叉排序树可以得到一个从小到大的有序序列.

A.先序遍历B.中序遍历C.后序遍历D.层次遍历

9.设一组初始记录关键字序列为<13,18,24,35,47,50,62,83,90,115,134>,则利用二分法查找关键字90需要比较的关键字个数为〔〕.

A.1B.2C.3D.4

10.设某散列表的长度为100,散列函数H=k%P,则P通常情况下最好选择〔〕.

A.99B.97C.91D.93

11.在二叉排序树中插入一个关键字值的平均时间复杂度为〔〕.

A.OB.O<1og2n>C.OD.O

12.设一个顺序有序表A[1:

14]中有14个元素,则采用二分法查找元素A[4]的过程中比较元素的顺序为<>.

A.A[1],A[2],A[3],A[4]B.A[1],A[14],A[7],A[4]

C.A[7],A[3],A[5],A[4]D.A[7],A[5],A[3],A[4]

13.设散列表中有m个存储单元,散列函数H=key%p,则p最好选择〔〕.

A.小于等于m的最大奇数B.小于等于m的最大素数

C.小于等于m的最大偶数D.小于等于m的最大合数

14.设顺序表的长度为n,则顺序查找的平均比较次数为〔〕.

A.nB.n/2C./2D./2

15.设有序表中的元素为<13,18,24,35,47,50,62>,则在其中利用二分法查找值为24的元素需要经过〔〕次比较.

A.1B.2C.3D.4

16.设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为〔〕.

A.6B.11C.5D.6.5

17.设有一组初始记录关键字序列为<34,76,45,18,26,54,92>,则由这组记录关键字生成的二叉排序树的深度为〔〕.

A.4B.5C.6D.7

18.二叉排序树中左子树上所有结点的值均〔〕根结点的值.

A.C.=D.!

=

19.设有n个关键字具有相同的Hash函数值,则用线性探测法把这n个关键字映射到HASH表中需要做〔〕次线性探测.

A.n2B.nC.n/2D.n/2

20.用散列函数求元素在散列表中的存储位置时,可能会出现不同的关键字得到相同散列函数值的冲突现象.可用于解决上述问题的是<>

A.线性探测法B.除留余数法

C.平方取中法D.折叠法

21.

22.在线性表的散列存储中,若用m表示散列表的长度,n表示待散列存储的元素的个数,则装填因子α等于〔〕.

A.n/mB.m/nC.n/D.m/

23.从一棵B_树删除元素的过程中,若最终引起树根结点的合并,则新树高度是〔〕.

A.原树高度加1B.原树高度减1

C.原树高度D.不确定

24.向二叉搜索树中插入一个元素时,其时间复杂度大致为〔  〕.

A.O〔log2n〕B.OC.O<1>D.0

25.5阶B树中,每个结点最多有〔〕个关键码.

A.2B.3C.4D.5

26.对一棵二叉排序树采用中根遍历进行输出的数据一定是〔  〕

A.递增或递减序列B.递减序列C.无序序列D.递增序列

27.一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值为82的结点时,查找成功时的比较次数为〔  〕

A.1B.2C.4D.8

28.若构造一棵具有n个结点的二叉排序树,最坏的情况下其深度不超过<>

A.

B.nC.

D.n+1

29.闭散列表中由于散列到同一个地址而引起的"堆积〞现象,是<>

A.由同义词之间发生冲突引起的

B.由非同义词之间发生冲突引起的

C.由同义词之间或非同义词之间发生冲突引起的

D.由散列表"溢出〞引起的

30.在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中.这种方式主要适合于<>

A.静态查找表B.动态查找表

C.静态查找表与动态查找表D.静态查找表或动态查找表

31.设一组记录的关键字key值为{62,50,14,28,19,35,47,56,83},散列函数为H=keymod13,则它的开散列表中散列地址为1的链中的结点个数是〔〕

A.1B.2C.3D.4

32.已知一个有序表为〔13,18,24,35,47,50,62,83,90,115,134〕,当二分检索值为90的元素时,检索成功需比较的次数是〔   〕

A.1B.2C.3D.4

33.闭散列表中由于散列到同一个地址而引起的"堆积〞现象,是由〔   〕

A.同义词之间发生冲突引起的

B.非同义词之间发生冲突引起的

C.同义词与非同义词之间发生冲突引起的

D.散列地址"溢出〞引起的

34.在最坏的情况下,查找成功时二叉排序树的平均查找长度〔   〕

A.小于顺序表的平均查找长度B.大于顺序表的平均查找长度

C.与顺序表的平均查找长度相同D.无法与顺序表的平均查找长度比较

35.闭散列表中由于散列到同一个地址而引起的"堆积〞现象,是由〔   〕

A.同义词之间发生冲突引起的

B.非同义词之间发生冲突引起的

C.同义词之间或非同义词之间发生冲突引起的

D.散列表"溢出〞引起的

36.设有100个元素,用二分法查找时,最大比较次数是〔〕.

A.25B.7C.10D.1

37.设有1000个元素,用二分法查找时,最小比较次数为〔〕

A.0B.1C.10D.500

38.在一个长度为n的顺序线性表中顺序查找值为x的元素时,查找成功时的平均查找长度〔即x与元素的平均比较次数,假定查找每个元素的概率都相等〕为<>.

A.nB.n/2C./2D./2

39.对有14个数据元素的有序表R[14]进行折半搜索,搜索到R[3]的关键码等于给定值,此时元素比较顺序依次为〔〕.

A.R[0],R[1],R[2],R[3]B.R[0],R[13],R[2],R[3]

C.R[6],R[2],R[4],R[3]D.R[6],R[4],R[2],R[3]

40.在一个有N个元素的有序单链表中查找具有给定关键字的结点,平均情况下的时间复杂性为

A.O<1>B.OC.0〔N2〕D.O

41.对线性表进行二分查找时,要求线性表必须〔B〕

A.以顺序方式存储B.以顺序方式存储,且数据元素有序

C.以方式存储D.以方式存储,且数据元素有序

42.下列二叉排序树中查找效率最高的是

A.平衡二叉树B.二叉查找树

C.没有左子树的二叉排序树D.没有右子树的二叉排序树

43.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,可以采用下列哪一种查找方法.A

A.分块B.顺序C.折半D.哈希

44.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是

A.<100,80,90,60,120,110,130>B.<100,120,110,130,80,60,90>

C.<100,60,80,90,20,110,130>D.<100,80,60,90,120,130,110>

45.下面关于B和B+树的叙述中,不正确的是

A.B树和B+树都是平衡的多叉树.B.B树和B+树都可用于文件的索引结构.

C.B树和B+树都能有效地支持顺序检索.D.B树和B+树都能有效地支持随机检索.

46.m阶B-树是一棵

A.m叉排序树B.m叉平衡排序树C.m-1叉平衡排序树D.m+1叉平衡排序树

47.在一棵含有n个关键字的m阶B-树中进行查找,至多读盘次.

48.一棵3阶B-树中含有2047个关键字,包括叶子结点层,该树的最大深度为.

A,11B.12C.13D.14

49.关于杂凑查找说法不正确的有几个

〔1〕采用链地址法解决冲突时,查找一个元素的时间是相同的

〔2〕采用链地址法解决冲突时,若插入规定总是在链首,则插入任一个元素的时间是相同的

〔3〕用链地址法解决冲突易引起聚集现象

〔4〕再哈希法不易产生聚集

A.1B.2C.3D.4

50.设哈希表长M=14,哈希函数H=KEYMOD11.表中已有4个结点:

ADDR<15>=4,ADDR<38>=5,ADDR<61>=6,ADDR<84>=7,其余地址为空,如用二次探测再散列处理冲突,关键字为49的结点的地址是.

A.8B.3C.5D.9

51.散列函数有一个共同的性质,即函数值应当以取其值域的每个值.

A.最大概率B.最小概率C.平均概率D.同等概率

52.将10个元素散列到100000个单元的哈希表中,则〔C〕产生冲突.

A.一定会B.一定不会C.仍可能会

53.长度为10的按关键字有序的查找表采用顺序组织方式.若采用折半查找方法,则在等概率情况下,查找失败时的ASL值是〔D〕

A.24/10B.24/11C.39/10D.39/11

54.在采用拉链法处理冲突所构成的开散列表上查找某一关键字,在查找成功的情况下,所探测的这些位置上的键值〔A〕

A.一定都是同义词B.不一定都是同义词

C.都相同D.一定都不是同义词

55.二叉查找树的查找效率与二叉树的树型有关,在时其查找效率最低.

A.结点太多B.完全二叉树C.呈单枝树D.结点太复杂.

56.具有12个关键字的有序表,折半查找的平均查找长度〔A〕

A.3.1B.4C.2.5D.5

57.哈希查找中k个关键字具有同一哈希值,若用线性探测法将这k个关键字对应的记录存入哈希表中,至少要进行次探测.

A.kB.k+1C.k/2D.1+k/2

58.对线性表进行二分查找时,要求线性表必须〔B〕

A.以顺序方式存储B.以顺序方式存储,且数据元素有序

C.以方式存储D.以方式存储,且数据元素有序

59.若查找每个元素的概率相等,则在长度为n的顺序表上查找任一元素的平均查找长度为<   D  >.

A.n       B.n+1      C./2  D./2

60.对长度为10的顺序表进行查找,若查找前面5个元素的概率相同,均为1/8,查找后面5个元素的概率相同,均为3/40,则查找任一元素的平均查找长度为<  C   >.

A.5.5     B.5        C.39/8     D.19/461.对长度为3的顺序表进行查找,若查找第一个元素的概率为1/2,查找第二个元素的概率为1/3,查找第三个元素的概率为1/6,则查找任一元素的平均查找长度为<  A   >.

A.5/3     B.2        C.7/3      D.4/3

62.对长度为n的单链有序表,若查找每个元素的概率相等,则查找任一元素的平均查找长度为< B    >.

A.n/2     B./2  C./2  D.n/4

63.对于长度为9的顺序存储的有序表,若采用二分查找,在等概率情况下的平均查找长度为<  A   >的9分之一.

A.20       B.18       C.25       D.22

64.对于长度为18的顺序存储的有序表,若采用二分查找,则查找第15个元素的查找长度为<  B   >.

A.3        B.4        C.5        D.6

65.对于顺序存储的有序表<5,12,20,26,37,42,46,50,64>,若采用二分查找,则查找元素26的查找长度为<  C   >.

A.2         B.3        C.4        D.5

66.对具有n个元素的有序表采用二分查找,则算法的时间复杂性为<    D >.

A.O      B.O   C.O<1>     D.O

67.在索引查找中,若用于保存数据元素的主表的长度为n,它被均分为k个子表,每个子表的长度均为n/k,则索引查找的平均查找长度为<  D   >.

A.n+k      B.k+n/k    C./2   D./2+1

68.在索引查找中,若用于保存数据元素的主表的长度为n,它被均分为若干个子表,每个子表的长度均为s,则索引查找的平均查找长度为<     B>.

A./2      B./2+1     C./2+1  D./2

69.在索引查找中,若用于保存数据元素的主表的长度为144,它被均分为12子表,每个子表的长度均为12,则索引查找的平均查找长度为<  A   >.

A.13        B.24       C.12       D.79

70.在索引查找中,若用于保存数据元素的主表的长度为117,它被均分为9子表,则索引查找的平均查找长度为<  B   >.

A.11        B.12       C.13       D.9

71.在一棵深度为h的具有n个元素的二叉排序树中,查找所有元素的最长查找长度为<   D  >.

A.n         B.log2n     C./2   D.h

72.从具有n个结点的二叉搜索树中查找一个元素时,在平均情况下的时间复杂性大致为<  C   >.

A.O     B.O<1>     C.O     D.O

73.从具有n个结点的二叉搜索树中查找一个元素时,在最坏情况下的时间复杂性为<    A >.

A.O     B.O<1>     C.O     D.O

74.向具有n个结点的二叉搜索树中插入一个元素时,其时间复杂性大致为<     B>.

A.O<1>     B.O     C.O     D.O

75.根据n个元素建立一棵二叉搜索树时,其时间复杂性大致为< D    >.

A.O     B.O     C.O     D.O

76.在一棵平衡二叉排序树中,每个结点的平衡因子的取值范围是<   A>.

A.-1~1     B.-2~2       C.1~2      D.0~1

77.若根据查找表<23,44,36,48,52,73,64,58>建立开散列表,采用h=K%13计算散列地址,则元素64的散列地址为<    C >.

A.4        B.8       C.12       D.13

78.若根据查找表<23,44,36,48,52,73,64,58>建立开散列表,采用h=K%7计算散列地址,则散列地址等于3的元素个数<  B   >.

A.1        B.2       C.3       D.4

79.若根据查找表<23,44,36,48,52,73,64,58>建立开散列表,采用h=K%7计算散列地址,则同义词元素个数最多为<    C >.

A.1        B.2       C.3       D.4

80.若根据查找表建立长度为m的闭散列表,采用线性探测法处理冲突,假定对一个元素第一次计算的散列地址为d,则下一次的散列地址为.

A.d        B.d+1     C./m    D.%m

81.若根据查找表建立长度为m的闭散列表,采用二次探测法处理冲突,假定对一个元素第一次计算的散列地址为d,则第四次计算的散列地址为<   C  >.

A.%m      B.%m     C.%m      D.%m

82.在采用线性探测法处理冲突的闭散列表上,假定装填因子a的值为0.5,则查找任一元素的平均查找长度为.

A.1       B.1.5     C.2      D.2.5

83.在采用法处理冲突的开散列表上,假定装填因子a的值为4,则查找任一元素的平均查找长度为<  A   >.

A.3       B.3.5     C.4      D.2.5

84.在散列查找中,平均查找长度主要与< C    >有关.

A.散列表长度   B.散列元素的个数    C.装填因子   D.处理冲突方法

85.对顺序表进行二分查找时,要求顺序表必须:

A.以顺序方式存储B.以顺序方式存储,且数据元素有序

C.以方式存储D.以方式存储,且数据元素有序

[解答]B

86.下列二叉排序树中查找效率最高的是:

A.平衡二叉树B.二叉查找树

C.没有左子树的二叉排序树D.没有右子树的二叉排序树

[解答]A

二、填空题

1.假定一个线性表为<12,23,74,55,63,40>,若按Key%4条件进行划分,使得同一余数的元素成为一个子表,则得到的四个子表分别为_____________、___________、________和___________.〔12,40〕,〔〕,〔74〕,〔23,55,63〕

2.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________.增加1

3.为了能有效地应用HASH查找技术,必须解决的两个问题是________________和_____________________.构造一个好的HASH函数,确定解决冲突的方法

4.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较________次就可以断定数据元素X是否在查找表中.7

5.下列算法实现在顺序散列表中查找值为x的关键字,请在下划线处填上正确的语句.

structrecord{intkey;intothers;};

inthashsqsearch

{

inti,j;j=i=k%p;

while

=k&&hashtable[j].flag!

=0>{j=<____>%m;ifreturn<-1>;}

if<_______________________>return;elsereturn<-1>;

}j+1,hashtable[j].key==k

6.下列算法实现在二叉排序树上查找关键值k,请在下划线处填上正确的语句.

typedefstructnode{intkey;structnode*lchild;structnode*rchild;}bitree;

bitree*bstsearch

{

ifreturn<0>;elsewhile

=0>

ifkey==k>_____________;elseifkey>k>t=t->lchild;else_____________;

}return,t=t->rchild

7.根据初始关键字序列<19,22,01,38,10>建立的二叉排序树的高度为____________.3

8.设散列函数H=kmodp,解决冲突的方法为链地址法.要求在下列算法划线处填上正确的语句完成在散列表hashtalbe中查找关键字值等于k的结点,成功时返回指向关键字的指针,不成功时返回标志0.

typedefstructnode{intkey;structnode*next;}lklist;

voidcreatelkhash

{

inti,k;lklist*s;

for_____________________;

for

{

s=malloc>;s->key=a[i];

k=a[i]%p;s->next=hashtable[k];_______________________;

}

}

hashtable[i]=0,hashtable[k]=s

9.下面程序

展开阅读全文
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1