题目内容 (请给出正确答案)
[主观题]

在有 n(n>1000)个元素的升序数组 A 中查找关键字 x 。查找算法的伪代码如下所示。 k=0; while (k <n 且 k="k+3;" if a[k]="=x)" 查找成功; else a[k-1]="=x)" a[k-2]="=x)" 查找失败; 本算法与折半查找算法相比,有可能具有更少比较次数的情形是(> A、当 x 不在数组中

B、当 x 接近数组开头处

C、当 x 接近数组结尾处

D、当 x 位于数组中间位置

提问人:网友audivolvo 发布时间:2022-01-07
参考答案
查看官方参考答案
如搜索结果不匹配,请 联系老师 获取答案
更多“在有 n(n>1000)个元素的升序数组 A 中查找关键字 …”相关的问题
第1题
第k小问题的分治算法将n个数分成5个数一组,共有n/5组,然后取每组的中位数构成集合M,这个过程的时间复杂度是:

A、O(nlogn)

B、O(n^2)

C、O(n)

D、O(logn)

点击查看答案
第2题
对n个元素值分别为-1、0或1的整型数组A进行升序排序的算法描述如下:统计A中-1、0和1的个数,设分别为n1、n2和n3,然后将A中的前n1个元素赋值为-1,第n1+1到n1+n2个元素赋值为0,最后n3个元素赋值为1。该算法的时间复杂度和空间复杂度分别为()。
点击查看答案
第3题
在合并排序算法中,基础子问题可以是1个元素的数组,也可以是10个元素的数组。前者不需要排序,后者可以用冒泡排序。
点击查看答案
第4题
线性搜索算法如下:

Linear Search(A,x)  //数组A[1..n],待查找对象x

1.for i←1 to ndo

2.if A[i]=x then return i  //查找成功

3.return "no"  //查找失败

设A的n个元素都不相同,x已在A中的概率为p(0≤p≤1),并且当x在A中时,x等于A的每一个元素的可能性相等.试分析算法的平均时间复杂度.

点击查看答案
第5题
【填空题】下面函数用“折半查找法”在有10个数的a数组中对关键字m查找,若找到,返回其下标值;否则返回-1。请填空使程序完整、正确。 提示:折半查找法的思路是先确定待查元素的范围,将其分成两半,然后比较位于中间点元素的值。如果该待查元素的值大于中间点元素的值,则将范围重新设定为大于中间点元素的范围,反之则设定为小于中间点元素的范围。 int search(int a[10], int m) { int xl = 0, x2 = 9, mid; while (xl <= x2) { mid="(xl" + 2; if (m a[mid]) (1____); else> a[mid]) (2____); else return (mid); } return (-1); }
点击查看答案
第6题
查找整数(名词解释题)

查找整数

点击查看答案
第7题
2.请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。
点击查看答案
第8题
在循环语句“for(int i=0;i<n;i++) ”中,循环体执行的次数为(> A、1

B、n-1

C、n

D、n+1

点击查看答案
第9题
试编写一个函数计算n!X2"的值,结果存放于数组A[arraySize]的第n个数组元素中,0≤nmaxInt时,应按出错处理。可有如下3种不同的出错处理方式:

(1)用cerr<<及exit(1)语句来终止执行并报告错误;

(2)用返回布尔值false,true来实现算法,以区别是正常返回还是错误返[回;

(3)在函数的参数表设置一个引用型的整型变量来区别是正常返回还是某种错误返回。

试讨论这3种方法各自的优缺点,并以你认为是最好的方式实现它。

点击查看答案
账号:
你好,尊敬的用户
复制账号
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
简答题
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
简答题
点击打开微信