全部科目 > 软件设计师 >
2022年下半年 上午试卷 综合知识
第 63 题
知识点 折半查找  
章/节 计算机软件知识  
 
 
折半查找在有序数组A中查找特定的记录K:通过比较K和数组中的中间元素A[mid]进行,如果相等,则算法结束∶如果K小于[Amid],则对数组的前半部分进行折半查找∶否则对数组的后半部分进行折半查找。根据上述描述,折半查找算法采用了(62)算法设计筑略。对有序数组(3,14,27,39,42,55,70,85,93,98),成功查找和失败查找所需要的平均比较次数分别是(63)(假设查找每个元素的概率是相同的)。
 
  A.  29/10和29/11
 
  B.  30/10和30/11
 
  C.  29/10和39/11
 
  D.  30/10和40/11




 
 
相关试题     计算机软件知识 

  第6题    2024年上半年  
采用简单选择排序算法对序列(49,38,65,97,76,13,27,49)进行非降序排序,两趟后的序列为(  )。

  第56题    2014年下半年  
给定关系模式R(U,F),U={A,B,C,D,E,H},函数依赖集F={A→B,A→C,C→D,AE→H}。关系模式R的候选关键字为()。

  第69题    2010年上半年  
以下HTML代码中,创建指向邮箱地址的链接正确的是(69)。

 
知识点讲解
· 折半查找
 
        折半查找
        折半查找的基本思想是:设查找表的元素存储在一维数组r[1…n]中,那么在表中的元素已经按关键字递增(或递减)的方式排序的情况下,可进行折半查找。其方法是:首先将待查的key值与表r中间位置上(下标为mid)记录的关键字进行比较,若相等则查找成功;若key>r[mid].key,则说明待查记录只可能在后半个子表r[mid+1…n]中,下一步应在后半个子表中再进行折半查找;若key<r[mid].key,说明待查记录只可能在前半个子表r[1…mid-1]中,下一步应在r的前半个子表中进行折半查找。这样通过逐步缩小范围,直到查找成功或子表为空时失败为止。
        折半查找的性能分析:折半查找的过程可以用一棵二叉树描述,不妨设节点总数为n=2h-1,则判定树是深度为h=log2(n+1)的满二叉树。在等概率情况下,折半查找的平均查找长度为
        当n值较大时,ASLbs≈log2(n+1)-1。
        折半查找比顺序查找的效率高,但它要求查找表进行顺序存储并且按关键字有序排列,因此对表进行元素的插入和删除时,需要移动大量的元素,所以折半查找适用于表不易变动,且又经常进行查找的情况。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2026 All Rights Reserved
软考在线版权所有