首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在查找算法中,可用平均查找长度(记为ASL)来衡量一个查找算法的优劣,其定义为: 此处Pi为表中第i个记录被查找的概率,Ci为查找第i个记录时同关键字比较的次数,n为表中记录数。 以下叙述中均假定每一个记录被查找的概率相等,
在查找算法中,可用平均查找长度(记为ASL)来衡量一个查找算法的优劣,其定义为: 此处Pi为表中第i个记录被查找的概率,Ci为查找第i个记录时同关键字比较的次数,n为表中记录数。 以下叙述中均假定每一个记录被查找的概率相等,
admin
2019-03-04
68
问题
在查找算法中,可用平均查找长度(记为ASL)来衡量一个查找算法的优劣,其定义为:
此处P
i
为表中第i个记录被查找的概率,C
i
为查找第i个记录时同关键字比较的次数,n为表中记录数。
以下叙述中均假定每一个记录被查找的概率相等,即P
i
=//n(i=1,2,…,n)。当表中的记录连续存储在一个一维数组中时,可采用顺序查找与折半查找方法(折半查找要求表是按关键字有序排列的)。顺序查找时的ASL为(19),折半查找时的ASL为(20)。记录的关键字有序时,用二叉排序树查找记录,在最坏的情况下,ASL为(21)。当二叉排序树是一棵平衡树时,ASL为(22)。在平衡树上删除一个结点后可以通过旋转使其平衡,最坏的情形下需(23)次旋转。
选项
A、O(1)
B、O(log
2
n)
C、O(log
2
n
2
)
D、O(nlog
2
n)
E、O(n)
答案
B
解析
顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到的结点关键字和给定值k相比较。若当前扫描到的结点关键字与k相等,,则查找成功;若扫描结束后,仍未找到关键字等于k的结点,则查找失败。顺序查找方法既适用于线性表的顺序存储结构,也适用于线性表的链式存储结构。
成功的顺序查找的平均查找长度如下:
ASL=
p
i
c
i
=
(n-i+1)=np1+(n-1)p2+…+2pn-1+pn
在等概率情况下,p
i
=1/n(1≤i≤n),平均查找长度为(n+…+2+1)/n=(n+1)/2,即查找成功时的平均比较次数约为表长的一半。若k值不在表中,则需进行n+1次比较之后才能确定查找失败。查找时间复杂度为O(n)。
若事先知道表中各结点的查找概率不相等,以及它们的分布情况,则应将表中结点按查找概率由小到大的顺序存放,以便提高顺序查找的效率。
顺序查找的优点是算法简单,且对表的结构无任何要求,无论是用向量还是用链表来存放结点,也无论结点之间是否按关键字有序,它都同样适用。缺点是查找效率低,因此,当n较大时不宜采用顺序查找。
二分法查找又称折半查找,它是一种效率较高的查找方法。二分法查找要求线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。
二分法查找的基本思想是(设R[low,…,high]是当前的查找区间):
(1)确定该区间的中点位置:mid=[(low+high)/2]。
(2)将待查的k值与R[mid].key比较,若相等,则查找成功并返回此位置,否则需确定新的查找区间,继续二分查找,具体方法如下:
.若R[mid].key>k,则由表的有序性可知R[mid,…,n].key均大于A,因此若表中存在关键字等于k的结点,则该结点必定是在位置mid左边的子表R[low,…, mid-1]中。因此,新的查找区间是左子表R[low,…,high],其中high=mid-1。
.若R[mid].key<k,则要查找的k必在mid的右子表R[mid+1,…,high]中,即新的查找区间是右子表R[low,…,high],其中low=mid+1。
.若R[mid].key=k,则查找成功,算法结束。
(3)下一次查找针对新的查找区间进行,重复步骤(1)和(2)。
(4)在查找过程中,low逐步增加,而high逐步减少。如果high<low,则查找失败,算法结束。
因此,从初始的查找区间R[1,…,n]开始,每经过一次与当前查找区间中点位置上结点关键字的比较,就可确定查找是否成功,不成功则当前的查找区间就缩小一半。重复这一过程,直至找到关键字为k的结点,或者直至当前的查找区间为空(即查找失败)时为止。查找的时间复杂度为O(log2n)。
在二叉排序树上查找,和二分法查找类似,也是一个逐步缩小查找范围的过程。在二叉排序树上进行查找时,若查找成功,则是从根结点出发,走了一条从根到待查结点的路径。若查找不成功,则是从根结点出发,走了一条从根到某个叶子的路径。与二分法查找类似,这种方法中和关键字比较的次数不超过树的深度。
二分查找法查找长度为n的有序表,其判定树是唯一的。含有n个结点的二叉排序树却不唯一。对于含有同样一组结点的表,由于结点插入的先后次序不同,所构成的二叉排序树的形态和深度也可能不同,这与在二叉排序树上进行查找时的平均查找长度和二叉树的形态有关。
(1)在最坏的情况下,二叉排序树是通过把一个有序表的n个结点依次插入而生成的,此时所得的二叉排序树退化为一棵深度为n的单支树,它的平均查找长度和单链表上的顺序查找相同,也是(n+1)/2。
(2)在最好的情况下,二叉排序树在生成的过程中,树的形态比较匀称,最终得到的是一棵形态与二分法查找的判定树相似的二叉排序树,此时它的平均查找长度大约是 log2n。
对于平衡的二叉排序树查找,平衡二叉排序树中的每个结点的左、右子树高度差不大于1,n个结点的平衡树的深度和log2n是同数量级的。对二叉排序树来说,它的查找时间与树的深度成正比。因此,平衡二叉排序树的平均查找时间为O(log2n)。
在平衡树上删除或插入结点往往会破坏树的平衡。通过旋转又可使其重新成为一棵平衡树。在最坏情况下,从叶子开始一直调整到根为止,需进行的旋转次数与树的深度一致,等于O(log2n)次。
转载请注明原文地址:https://kaotiyun.com/show/d3TZ777K
本试题收录于:
数据库系统工程师上午基础知识考试题库软考中级分类
0
数据库系统工程师上午基础知识考试
软考中级
相关试题推荐
某企业有一投资方案:每年生产某种设备1500台,生产成本每台700元,预计售价每台1800元,估算投资额为800万元。该投资方案寿命为7年。假设年产量、每台售价和投资额均有可能在±20%的范围内变动,就这三个不确定因素对投资回收期的敏感性分析得到了下表中的
(32)不是影响制定项目章程过程的环境和组织因素。
一般而言,大型软件系统中实现数据压缩功能的模块,工作在OSI参考模型的(21)。
职业道德是所有从业人员在职业活动中应该遵循的行为准则,涵盖了从业人员与服务对象、职业与职工、职业与职业之间的关系。以下违背信息系统项目管理师职业道德规范要求的是(5)。
在需求跟踪过程中,检查设计文档、代码、测试用例等工作成果是否都能在《产品需求规格说明书》中找到出处的方法属于___________。
某一项目,初始投资为2000万元,该项目从投产年开始每年的净收益如下表所示,则该项目的静态投资回收期约为__________年。
下表是项目甲、乙、丙三个项目的进度数据,则()最有可能在成本的约束内完成。
(2010上系分)在软件需求工程中,需求管理贯穿整个过程。需求管理最基本的任务是明确需求,并使项目团队和用户达成共识,即建立______。
(2010下集管)Web服务(WebService)定义了一种松散的、粗粒度的分布式计算模式。Web服务的提供者利用①描述Web服务,Web服务的使用者通过②来发现服务,两者之间的通信采用③协议。以上①②③处依次应是______。
(2006下项管)根据有关法律,招标人与中标人应当自中标通知发出之日______天内,按招标文件和中标人的投标文件订立书面合同。
随机试题
下列关于肺泡表面活性物质的叙述,错误的是
患者女性,46岁,白带增多1年,偶而呈粉红色,近3个月有性交出血,月经尚规则,妇科检查见宫颈中度糜烂,子宫Ⅱ:常大小,质软、双侧附件无异常所见。阴道镜下活检有癌细胞已突破基底膜5mm,有淋巴管被侵袭及病状融合现象。该患者的临床分期应是
A.药物治疗B.乳房切开引流术C.乳腺肿块切除术D.单纯乳腺切除术E.乳腺癌根治术乳腺囊性增生病可行()
到2020年,新增劳动力平均受教育年限从()年提高到13.5年。
从2020年到2035年再到2050年,中华民族要实现伟大的梦想。其发展进程是:
下列关于通用对话框CommonDialog1的叙述中,错误的是
中国注册税务师协会宣传处王干事正在准备一份介绍本协会的演示文稿,按照下列要求帮助王干事组织材料完成演示文稿的整合制作,完成后的演示文稿共包含15张幻灯片,且没有空白幻灯片。在考生文件夹下,打开空白演示文稿“PPT.pptx”,根据Word文档“PPT素
Moreboysthangirlsarebornallovertheworld,butanewstudyhasfoundthatthecloserpeoplelivetotheequator(赤道),the
______wewereoutofthetrafficjamwewereabletoresume(恢复)ournormalspeed.
I______youthatMary’sbackyesterdaybutIforgotallaboutit.
最新回复
(
0
)