首页 > 英语六级
题目内容 (请给出正确答案)
[主观题]

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

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“考查基于List::merge()算法(教材82页代码3.2…”相关的问题
第1题
从队列的角度回顾二路归并算法的两个版本,不难发现,无论Vector::merge()(教材63页代码2.29)还是List::merge()(教材82页代码3.22),所用到的操作无非两类:从两个输入序列的前端删除元素;格元素插入至输出序列的后端。因此,若使用队列ADT接口来描述和实现该算法的过程,必将既简洁且深刻。试按照这一理解,编写二路归并算法的另一版本,实现任意一对有序队列的归并。

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

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

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

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

点击查看答案
第6题
考查教材39页代码2.10中的无序向量查找算法find(e,lo,hi)。a)在最好情况下,该算法需要运行多少时间?为什么?b)若仅考查成功的查找,则平均需要运行多少时间?为什么?

点击查看答案
第7题
考查中序遍历迭代式算法的第三个版本(教材131页代码5.18)。试继续改进该算法,使之不仅无需辅助栈,而且也无需辅助标志位。

点击查看答案
第8题
考查Fibonacci数的计算。a)试证明,任意算法怕只是直接打印输出fib(n),也至少需要Ω(n)的时间;b)试设计一个算法,在o(logn)时间内计算出fib(n);c)以上结论是否矛盾?为什么?

点击查看答案
第9题
考查采用CBA式算法对4个整数的排序。a)试证明,最坏情况下不可能少于5次比较;b)试设计这样的一个CBA式算法,即便在最坏情况下,至多只需5次比较。

点击查看答案
第10题
考查采用DFS算法(教材162页代码6.4)遍历而生成的DFS树,试证明:a)顶点v是u的祖先,当且仅当b)v与

考查采用DFS算法(教材162页代码6.4)遍历而生成的DFS树,试证明:

a)顶点v是u的祖先,当且仅当

b)v与u无承袭关系,当且仅当

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