首页 > 医卫考试> 健康知识
题目内容 (请给出正确答案)
[主观题]

教材81页代码3.20中的List::selectionSort()算法,通过selectMax()在前缀子序列中定位的最大元

教材81页代码3.20中的List::selectionSort()算法,通过selectMax()在前缀子序列中定位的最大元素max,有可能恰好就是tail的前驱——自然,此时“二者”无需交换。针对这一“问题”,你可能会考虑做些“优化”,以期避免上述不必要的交换,比如将

教材81页代码3.20中的List::selectionSort()算法,通过selectMax()

a)以序列(1980,1981,1982,...,2011,2012;0,1,2,...,1978,1979)为例,这种情况共发生多少次?

b)试证明,在各元素等概率独立分布的情况下,这种情况发生的概率仅为1nn/n→0——也就是说,就渐进意义而言,上述“优化”得不偿失。

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“教材81页代码3.20中的List::selectionSo…”相关的问题
第1题
a)仿照教材81页代码3.20,试针对向量结构实现选择排序算法Vector::selectionSort();b)你实现的选择排序算法是稳定的吗?为什么?

点击查看答案
第2题
考查基于List::merge()算法(教材82页代码3.22)实现的List::mergeSort()算法(教材83页代码3.23)。该算法是稳定的吗?若是,请给出证明;否则,试举一实例。

点击查看答案
第3题
如教材80页代码3.19所示,考查插入排序算法List::insertionSort()。a)若输入列表为(61,60,59,...,5,4,3,2,0,1,2),则共需要做多少次关键码比较?b)试通过实测验证你的结论。

点击查看答案
第4题
考查如教材75页代码3.11所示的List::remove()算法。当待副除的节点既是首节点也是末节点(即列表仅含单个节点)时,该算法是否依然适用?为什么?

点击查看答案
第5题
从队列的角度回顾二路归并算法的两个版本,不难发现,无论Vector::merge()(教材63页代码2.29)还是List::merge()(教材82页代码3.22),所用到的操作无非两类:从两个输入序列的前端删除元素;格元素插入至输出序列的后端。因此,若使用队列ADT接口来描述和实现该算法的过程,必将既简洁且深刻。试按照这一理解,编写二路归并算法的另一版本,实现任意一对有序队列的归并。

点击查看答案
第6题
考查如教材76页代码3.14所示的List::deduplicate()算法。a)给出其中循环体所具有的不变性,并通过数学归纳予以证明;b)试举例说明,该算法在最好情况下仅需o(n)时间;c)试改进该算法,使其时间复杂度降至o(nlogn);d)o(nlogn)的效率是否还有改进的余地?为什么?

点击查看答案
第7题
考查如教材83页代码3.23所示的List::mergeSort()算法,试证明:a)若为节省每次子列表的划分时间,而直接令m=min(c,n/2),其中c为较小的常数(比如5),则总体复杂度反而会上升至o(n2);b)特别地,当取c=1时,该算法等效地退化为插入排序。

点击查看答案
第8题
给定如下Java代码,编译运行的结果是()。publicclassTest{publicstaticvoidmain(String[]args){LinkedListlist=newLinkedList();list、add("A");list、add(2,"B");Strings=(String)list、get(1);System、out、println(s);}}

A.正确运行,输出:A

B.编译时发生错误

C.正确运行,输出:B

D.运行时引发异常

点击查看答案
第9题
教材309页代码11.1、310页代码11.2所实现的两个蛮力算法,在通常情况下的效率并不算低。现假定所
有字符出现的概率均等,试证明:

a)任意字符比对的成功与失败概率分别为1/s和(s-1)/s,其中s=|∑|为字符表的规模;

b)在P与T的每一对齐位置,需连续执行恰好k次字符比对操作的概率为(s-1)/sk;

c)在P与T的每一对齐位置,需连续执行字符比对操作的期望次数不超过s/(s-1)≤2=o(1)。

点击查看答案
第10题
下面代码的输出结果是()x=list()y=0if x:y=1print(y)

A.0

B.1

C.没有输出

D.出错

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改