重要提示:请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
首页 > 建设工程> 注册环保工程师
网友您好,请在下方输入框内输入要搜索的题目:
搜题
拍照、语音搜题,请扫码下载APP
扫一扫 下载APP
题目内容 (请给出正确答案)
[主观题]

假设将教材34页代码2.4中expand()算法的扩容策略改为“每次追加固定数目的单元”。a)试证明,在最坏情况下,单次操作中消耗于扩容的分摊时间为θ(n),其中n为向量规模;b)试举例说明,这种最坏情况的确可能发生。

答案
查看答案
更多“假设将教材34页代码2.4中expand()算法的扩容策略改为“每次追加固定数目的单元”。a)试证明,在最坏情况下,单次操作中消耗于扩容的分摊时间为θ(n),其中n为向量规模;b)试举例说明,这种最坏…”相关的问题

第1题

根据教材2.8.3节所给递推关系以及边界条件试证明,如教材62页代码2.28所示mergeSort()算法的运行时间T(n)=o(nlogn)。

点击查看答案

第2题

a)试从教材167页代码6.5中,删除与拓扑排序无关的操作,以精简其实现。b)精简之后,整体的渐进复杂度有何变化?

点击查看答案

第3题

实际上,trivialMedian()算法(教材343页代码12.7)只需迭代(n1+n2)/2步即可终止。a)照此思路,改进该算法;b)如此改进之后,算法总体的渐进时间复杂度是否有所降低?

点击查看答案

第4题

考查教材40页代码2.11中的无序向量插入算法insert(r,e)。试证明,若插入位置r等概率分布,则该算法的平均时间复杂度为0(n),n为向量的规模。

点击查看答案

第5题

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

点击查看答案

第6题

考查如教材348页代码12.10所示的quickSelect()算法。a)试举例说明,最坏情况下该算法的外循环需要执行Ω(n)次;b)在各元素独立等概率分布的条件下,该算法的平均时间复杂度是多少?

点击查看答案

第7题

教材32页代码2.2的copyFrom()算法中,目标数组_elem[]是通过new操作由系统另行分配的,故可保证在物理上与来源数组A[]相互独立,若不能保证这种独立性,该算法需要做哪些调整?

点击查看答案

第8题

对于几乎有序的向量,如教材代码2.26(60页)和代码2.27(60页)所示的起泡排序算法,都显得效率不足

对于几乎有序的向量,如教材代码2.26(60页)和代码2.27(60页)所示的起泡排序算法,都显得效率不足,比如,即便乱序元素仅限于A[0,√n)区间,最坏情况下仍需调用bubble()做Ω(√n)次调用,共做Ω(n)次交换操作和Ω(n3/2)次比较操作,因此累计运行Ω(n3/2)时间。

a)试改进原算法,使之在上述情况下仅需o(n)时间;

b)继续改进,使之在如下情况下仅需o(n)时间:乱序元素仅限于A[n-√n,n)区间;

c)综合以上改进,使之在如下情况下仅需o(n)时间:乱序元素仅限于任意的A[m,m+√n]区间。

点击查看答案

第9题

如教材62页代码2.28所示mergeSort()算法,即便在最好情况下依然需要Ω(nlogn)时间。实际上略微修改这段代码,即可使之在(子)序列业已有序时仅需线性时间,为此,mergeSort()的每个递归实例仅需增加常数的时间,且其它情况下的总体计算时间仍然保持o(nlogn)。试给出你的改进方法,并说明其原理。

点击查看答案
下载APP
关注公众号
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案 购买前请仔细阅读《购买须知》
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《服务协议》《购买须知》
立即支付 系统将自动为您注册账号
已付款,但不能查看答案,请点这里登录即可>>>
请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
请用微信扫码测试
优题宝