计算机算法基础课后答案.doc
《计算机算法基础课后答案.doc》由会员分享,可在线阅读,更多相关《计算机算法基础课后答案.doc(35页珍藏版)》请在三一文库上搜索。
1、计算机算法分析习题课第四章:2 、3、5、6、10、11、23P99-2在下列情况下求解4.1节的递归关系式T(n)= ()2(/2) () gnnTnfn 足够小否则 当g(n)=O(1)和f(n)=O(n); g(n)=O(1)和f(n)=O(1)。P99-2递推表达式设n=2k则:T(n)=T(2k)=2T(2k-1)+f(2k)=2(2 T(2k-2)+f(2k-1) +f(2k)=22T(2k-2)+21f(2k-1)+ f(2k)=2kT(1)+2k-1f(2)+2k-2f(22)+20f(2k)=2kg(n)+ 2k-1f(2)+2k-2f(22)+20f(2k)g(n)=O(1
2、)和f(n)=O(n)当g(n)=O(1)和f(n)=O(n)时不妨设g(n)=a,f(n)=bn,则:T(n)=T(2k)= 2ka+ 2k-1*2b+2k-2*22b+20*2kb=2ka+kb2k=an+bnlog2n=O(nlog2n)g(n)=O(1)和f(n)=O(1)当g(n)=O(1)和f(n)=O(1)时,不妨设g(n)=c,f(n)=d,则:T(n)=T(2k)=c2k+2k-1d+2k-2d+20d=c2k+d(2k-1)=(c+d) n-d=O(n)P99-3根据2.2节开始所给出的二分检索策略,写一个二分检索的递归过程。Procedure BINS
3、RCH(A, low, high, x, j)integer midif lowhighthenmid(low+high)/2 if x=A(mid) thenjmid;endifif xA(mid) thenBINSRCH(A, mid+1, high, x, j);endifif xA(mid) thenBINSRCH(A, low, mid-1, x, j);endifelsej0;endifend BINSRCHP99-5作一个“三分”检索算法,它首先检查n/3处的元素是否等于某个x的值,然后检查2n/3处的元素。这样,或者找到x,或者把集合缩小到原来的1/3。分析
4、此算法在各种情况下的计算复杂度。Procedure ThriSearch(A, x, n, j)integer low, high, p1, p2low1; highnwhile lowhighdop1(high+2low)/3 p2(2high+low)/3 case:x=A(p1): jp1; return:x=A(p2): jp2; return:xA(p2): low p2+1:else: lowp1+1; highp2-1end caserepeatj0end ThriSearch实例运行 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 361时间复杂度h
5、8708;成功:O(1),O(log3(n),O(log3(n)最好,平均,最坏失败:O(log3(n),O(log3(n),O(log3(n)最好,平均,最坏P99-6对于含有n个内部结点的二元树,证明E=I+2n其中,E,I分别为外部和内部路径长度。证明:数学归纳法当n=1时,易知E=2,I=0,所以E=I+2n成立;假设nk(k0)时,E=I+2n成立;此时新树内部结点为k个,则满足:Ek=Ik+2k(1)考察原树的外部路径长度和内部路径长度:Ek+1= Ek-h+2(h+1) (2)Ik
6、1=Ik+h(3)综合(1)(2)(3)式:Ek+1= Ik+2k+h+2= Ik+1-h+2k+h+2= Ik+1+2(k+1)故命题成立。P99-10过程MERGESORT的最坏情况时间是O(nlogn),它的最好情况时间是什么?能说归并分类的时间是(nlogn)吗?最好情况:对有序文件进行排序分析归并的次数不会发生变化-log(n)次归并中比较的次数会发生变化(两个长n/2序列归并)最坏情况两个序列交错大小需要比较n-1次
7、048708;最好情况一个序列完全大于/小于另一个序列比较n/2次差异都是线性的,不改变复杂性的阶最好情况也是nlog(n), 平均复杂度nlog(n)。P99-11写一个“由底向上”的归并分类算法,从而取消对栈空间的利用。见数据结构-第九章P238算法MPass(R,n,1engthX)MP1 初始化i1 MP2 合并相邻的两个长度为length的子文件WHILE i n 2*length + 1 DO(Merge(R,i,ilengthl,i2*length1X).ii2
8、length )MP3 处理余留的长度小于2*length的子文件IF i+length1 0,要用的处理时间ti0,限期diti.解:根据pi的非增排序得到(p7, p3, p4, p6, p2, p1, p5)=(30,20,18,6,5,3,1),对应的期限为(2,4,3,1,3,1,2),按照算法3.5生成的解为:1.J(1)=7(2),2.J(1)=7(2), J(2)=3(4);3.J(1)=7(2), J(2)=4(3),J(3)=3(4);4.J(1)=6(1), J(2)=7(2),J(3)=4(3),J(4)=3(4);证明即使作业
9、有不同的处理时间定理5.3亦真。这里,假定作业i的效益pi0,要用的处理时间ti0,限期diti.(P106)定理5.3:设J是K个作业的集合, =i1i2ik是J中作业的一种排序,它使得di1di2dik.J是一个可行解,当且仅当J中的作业可以按照的次序又不违反任何一个期限的情况下来处理.证明:显然即使ti0(diti),如果J中的作业可以按照的次序而又不违反任何一个期限来处理,即对次序中的任一个作业k,应满足dk =kjjt1,则J就是一个可行解。下面证明如果J是可行解, =i1i2ik使得J中的作业可以按照di1di2din 序列排列而又不违反任何一个期限。 J是可行
10、解,则必存在=r1r2rn,使得对任意的rk,都有 dk=kjjt1,我们设是按照di1di2din排列的作业序列。假设,那么令a是使raia的最小下标,设rb=ia,显然ba,在中将ra与rb相交换,因为drbdra,显然ra和rb可以按期完成作业,我们还要证明ra和rb之间的作业也能按期完成。因为drbdra,而显然二者之间的所有作业rt,都有drbdrt,又由于是可行解,所以1btbkrrktdd=,所以作业ra和rb交换后,仍满足1ttkrktd=,即所有作业可依新产生的排列=s1s2sn的次序处理而不违反任何一个期限,连续使用这种方法,就可转换成且不违反任何一个期限,定理得证。 P1
11、23-9对于5.3节的作业排序问题证明:当且仅当子集合J中的作业可以按下述规则处理时它表示一个可行解;如果J中的作业I还没分配处理时间,则将它分配在时间片a-1,a处理,其中a是使得1rdi的最大整数r,且时间片a-1,a是空的。仿照例5.4的格式,在习题5.8的所提供的数据集上执行算法5.5。易证如果J中的作业能按上述规则处理,显然J是可行解;如果J是可行解,根据定理5.3可知,J中的作业根据时间期限的非降次序排列,得到i1i2ikin,并且按照这个顺序,可以处理J中所有作业,而对这一序列中的任意作业ik,如果它
12、的时间期限是dk,且时间片dk-1,dk是空的,则分配之;若时间片dk-1,dk非空,则向前找最大的非空r-1,r时间片,1rdk因为J是可行解,所以一定可以找到如此时间片。故命题得证。n=7(p1, p7)=(3,5,20,18,1,6,30)(d1,d7)=(1,3,4,3,2,1,2)(p7, p3, p4, p6, p2, p1, p5)=(30,20,18,6,5,3,1),对应的期限为(2,4,3,1,3,1,2)b=min n,maxd(i) =min7,4 =4P123-11证明如果一棵树的所有内部节点的度都为k,则外部节点数n满足n m
13、od (k-1)=1.证明对于满足n mod (k-1)=1的正整数n,存在一棵具有n个外部节点的k元树T(在一棵k元树中,每个节点的度至多为k)。进而证明T中所有内部节点的度为k.证明:设某棵树内部节点的个数是i,外部结点的个数是n,边的条数是e,则有e=i+n-1ik=eik=i+n-1(k-1)i=n-1n mod (k-1)=1P123-12证明如果n mod (k-1)=1,则在定理5.4后面所描述的贪心规则对于所有的(q1,
14、q2,qn)生成一棵最优的k元归并树。(P111)当(q1,q2,q11)=(3,7,8,9,15,16,18,20,23,25,28)时,画出使用这一规则所得到的最优3元归并树。通过数学归纳法证明:对于n=1,返回一棵没有内部结点的树且这棵树显然是最优的。假定该算法对于(q1,q2,qm),其中m=(k-1)s+1 (s0),都生成一棵最优树,则只需证明对于(q1,q2,qn),其中n=(k-1)(s+1)+1,也能生成最优树即可。不失一般性,假定q1q2qn,且q1,q2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 算法 基础 课后 答案
三一文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。


Word中的域代码列表官方.doc
WLF方程的推导实用教案.pptx
