热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

(1.4.3.1)查找练习题

一、选择题1.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为(C)。A.(n-1)

一、 选择题

1.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为(   C )。                      

A. (n-1)/2       B. n/2        C. (n+1)/2        D. n

2. 对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( A  ) 

A.(N+1)/2      B. N/2      C. N      D. [(1+N)*N ]/2

3.顺序查找法适用于查找顺序存储或链式存储的线性表,平均比较次数为((1D)),二分法查找只适用于查找顺序存储的有序表,平均比较次数为((2C))。 在此假定N为线性表中结点数,且每次查找都是成功的。

A.N+1       B.2log2N       C.logN       D.N/2       E.Nlog2N    F.N2

4. 下面关于二分查找的叙述正确的是  (  D  )  

A. 表必须有序,表可以顺序方式存储,也可以链表方式存储 

C. 表必须有序,而且只能从小到大排列

B. 表必须有序且表中数据必须是整型,实型或字符型    

D. 表必须有序,且表只能以顺序方式存储

5. 对线性表进行二分查找时,要求线性表必须( B  )

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

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

6.适用于折半查找的表的存储方式及元素排列要求为(  D  ) 

    A.链接方式存储,元素无序     B.链接方式存储,元素有序

C.顺序方式存储,元素无序     D.顺序方式存储,元素有序

7. 用二分(对半)查找表的元素的速度比用顺序法(  D  )   

A. 必然快      B. 必然慢      C. 相等      D. 不能确定

8.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度(   C )                      

A.必定快     B.不一定     C. 在大部分情况下要快    D. 取决于表递增还是递减

9. 具有12个关键字的有序表,折半查找的平均查找长度( A  )

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

10. 折半查找的时间复杂性为( D  )

A. O(n2)     B. O(n)     C. O(nlogn)     D.  O(logn)

11.当采用分快查找时,数据的组织方式为  (  B  )    

A.数据分成若干块,每块内数据有序

B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块

C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块

D. 数据分成若干块,每块(除最后一块外)中数据个数需相同

14.在等概率情况下,线性表的顺序查找的平均查找长度ASL为( (1E) ),有序表的折半查找的ASL为( (2B) ),对静态树表,在最坏情况下,ASL为( (3E) ),而当它是一棵平衡树时,ASL为 ( (4B) ),在平衡树上删除一个结点后可以通过旋转使其平衡,在最坏情况下需( (5B) )次旋转。供选择的答案

(1)(2)(3)(4)(5): A. O(1)    B. O( log2n )   C. O((log2n)2)  D.O(nlog2n)  E. O(n)

15. 对大小均为n的有序表和无序表分别进行顺序查找,在等概率查找的情况下,对于查找失败,它们的平均查找长度是((1B)) ,对于查找成功,他们的平均查找长度是((2A))供选择的答案: 

 A. 相同的             B.不同的

16.如果要求一个线性表既能较快的查找,又能适应动态变化的要求,则可采用(  A  )查找法。

A. 分快查找       B. 顺序查找       C. 折半查找       D. 基于属性

17. 既希望较快的查找又便于线性表动态变化的查找方法是 (  C  )       

A.顺序查找   B. 折半查找   C. 索引顺序查找    D. 哈希法查找

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

A.(100,80, 90, 60, 120,110,130)  B.(100,120,110,130,80, 60, 90)

C.(100,60, 80, 90, 120,110,130) D. (100,80, 60, 90, 120,130,110)

 

三、填空题

1. 顺序查找n个元素的顺序表,若查找成功,则比较关键字的次数最多为_N__次;当使用监视哨时,若查找失败,则比较关键字的次数为__N+1  __

2. 在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分(折半)法查找关键码值20,需做的关键码比较次数为_4___.

3.在有序表A[1..12]中,采用二分查找算法查等于A[12]的元素,所比较的元素下标依次为__6.9.11.12________。

4. 在有序表A[1..20]中,按二分查找方法进行查找,查找长度为5的元素个数是__________

6. 在有序表A[1…20]中,按二分查找方法进行查找,查找长度为4的元素的下标从小到大依次是__________

7. 给定一组数据{6,2,7,10,3,12}以它构造一棵哈夫曼树,则树高为_5_________,带权路径长度WPL的值为_____96_____。

9. 己知有序表为(12,18,24,35,47,50,62,83,90,115,134)当用二分法查找90时,需____2___次查找成功,47时_______4___成功,查100时,需____3______次才能确定不成功。

17. 分块检索中,若索引表和各块内均用顺序查找,则有900个元素的线性表分成____30____块最好:若分成25块,其平均查找长度为__13+18.5________。

18. 执行顺序查找时,储存方式可以是__(1)__,二分法查找时,要求线性表__(2)__,分块查找时要求线性表 __(3)__,而散列表的查找,要求线性表的存储方式是 __(4)__。

29. 假定查找有序表A[1..12]中每个元素的概率相等,则进行二分查找时的平均查找长度为______37/12____

31. 已知二叉排序树的左右子树均不为空,则___左子树___上所有结点的值均小于它的根结点值,_____右子书_____上所有结点的值均大于它的根结点的值。

32. 动态查找表和静态查找表的重要区别在于前者包含有__insert____和____delete______运算,而后者不包含这两种运算。

33. 对于具有144 个记录的文件,若采用分块查找法,且每块长度为8,则平均查找长度为____14______.


9章 查找 答案

一.选择题  

1.C

2.A

3.1D

3.2C

4.D

5.B

6.D

7.D

8.C

9.A

10.D

11.B

14.1E

14.2B

14.3E

14.4B

14.5B

15.1B

15.2A

16.A

17.C

18.C

 

 

三.填空题

1.n  n+1          2.4          3.6,9,11,12            4.5  

6.1,3,6,8,11,13,16,19

7.5,96                           9.2,4,3

17.30,31.5(块内顺序查找)

18.(1)顺序存储或链式存储  (2)顺序存储且有序 (3)块内顺序存储,块间有序 (4) 散列存储

28.31       29.37/12           31.左子树  右子树

32.插入   删除           33.14



推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
author-avatar
怪兽朴朴朴
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有