首页 > 医生资格> 口腔执业助理医师
题目内容 (请给出正确答案)
[主观题]

教材95页代码4.7中的evaluate()算法,对乘方运算符“^”的求值采用了向左优先结合律,比如表达式“2^3^5”将被理解为“(2^3)^5”。试按照通常习惯,将该运算符调整为满足向右优先结合律,比如上例应被理解为“2^(3^5)”。要求对该算法的修改尽可能小。

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
更多“教材95页代码4.7中的evaluate()算法,对乘方运算…”相关的问题
第1题
根据教材2.8.3节所给递推关系以及边界条件试证明,如教材62页代码2.28所示mergeSort()算法的运行时间T(n)=o(nlogn)。

点击查看答案
第2题
试仿照教材22页代码1.10中向量的倒置算法,实现List::reverse()接口,将列表中元素的次序前后倒置。

点击查看答案
第3题
在一台速度为1Gflops的电脑上使用教材中代码1.1中的bubblesort1A()算法,大致需要多长时间才能完成对全国人口记录的排序?

点击查看答案
第4题
a)试针对教材72页代码3.5中的List::find(),以及78页代码3.17中的List::search(),就其在最好、最坏和平均情况下的效率做一分析对比;b)有序性对于列表查找操作效率的提高有多大作用?

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

点击查看答案
第6题
考查教材41页代码2.12中的无序向量删除算法remove(lo,hi)。a)若以自后向前的次序逐个前移后继元素,可能出现什么问题?b)何时出现这类问题?试举一例。

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

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

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

点击查看答案
第10题
对于几乎有序的向量,如教材代码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]区间。

点击查看答案
第11题
教材81页代码3.20中的List::selectionSort()算法,通过selectMax()在前缀子序列中定位的最大元

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

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

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

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