《算法设计与分析书后参考答案.docx》由会员分享,可在线阅读,更多相关《算法设计与分析书后参考答案.docx(13页珍藏版)》请在优知文库上搜索。
1、参考答案第1章一、逸*慝I.C2.A3.C4.CADB5.B6.B7.DK.B9.B1().BII.D12.B二、1 .输入,输出1确定性I可行性t有力性2 .程序:有9性3 .算法受杂度4 .时间义杂收,空间复杂吱5 .EJtt.简明性I高效性:酸优性6 .M砒尊法:启发式舞法7 .复汆性尽可能低的!?法:其中豆杂性蚊低者8 .班好性在I域坏性态I干均性态9 .根本运算10 .Ki地工作三、I.蒲悠程序设计语言的主要好处是I(I)商级语官吏接近算法语官.义学.电掌握.淡工出技术人员只需要儿用时间的培训就可以胜任程序员的工作:!2:高援谓*为程序员提供/结构化程序设计的环境和I:具,使和设计出
2、关的程序可读性好,可雉护件,强可靠性高:(3)高级语言不依敕于机器谥方,与具体的计算机蝮件关束不大,因而所月出米的程序可移植性好、取用率1U;把北杂理碑的事务交给编译程庠.所以自动化枳度而,发阳熄联知,程序m可以集中型中时间和精力从事更小瞿的制造性劳动.提Ai程序版所.2 .使用抽停数据类型帝蛤律法设计的好处主要右:I1.坛法顶层设计与底以实现别点,使双花进行顶阳设计时不考虑它所用到的数据,运口农示和实现I反过玄,在表示数据和实现联层运口时.只要定义消把抽象数据类举而不必学虚在什么场合引用它.这样做使算法设计的乂杂性降任了.务理件增强r.既行助IiS速开发出程序峨型.又使开发过程少出过失.程序
3、可靠性鸟.(2)算法设计与依据结构设if隔开,允许数粼结构自由选择,从中比拟,优化律法效率.(3)i据模型和该楔察上的送#统一在抽象数据类31中.反映它们之间内在的互相依就和互相制约的关泰.WiF空间别时间消M的折束.灵活地满足用户要求.(41由于顶层设计和底层实现局部化.在议计中出现的过失也是局部的.闪而*Mifi找也冬奶纠正.在设计中常常空班的增.划、改也都是局都的,因而也拇容易进行.因此,用抽象数据类型入述的宽法其物很好的可相护性.:5J獴法自然呈现模块化,抽象数据类型的表示和实现可以封装,便于移植和就用。56;为自顶向卜逐步求精和模块化援供行效逾径和工J1.7:算法牯构清晰.层次清楚,
4、使于算法正确的证明和复杂性的分析.3 .算法的复杂慢是算法运行所需空的H算机资源的Ii1.4 .当问题的戏5速增时.将复汆应的极IU称为新边复杂收,5 .梁川北杂性渐近性态於代算法处东收使得花数V级上估计个算法的执行时间成为町徒.、计算慝I,验i下面的关系:O(I)O(uK(n)op)O及O2,kO(!kO().证明1.数学归fft法.历明2:反证法.证明3定义i三明令MM)三O11).fAnY=Oi1.ogn)./)()=CXn)./.=0(M)-根据WnM=K)(A)1定义.可知一定存在两个正的常数C和r*.位符对所份的11n.(ifinCg(n).那么,St()C.IfiOt)SG1.O
5、,(r)Cm()g,fs(n)VCS1.ft.再根据Og(.V)表示所行/(N1增长的阶不超过K(1V)的函数的谯令.它用以表达一个算法运行时间的上界.那么f(n)(ti上界启”)的上界/S)的上界的)的上界V1.M)的上界那么就的证了0(IJOOO(n)0gJ0.同理.行:0(2,)VOS!)X心.任明4:做限法(通常使用罗比塔法那么).IimO(I)ZO(Iogn)-O.所以,(XI)/0()=1.inC1JogwC,n=C1IC,1.tn(kgt,n)1.=0,所以.0(1.ogn)O(n).IimO(n)CXn1.ogn)=1.mr(n1.ogn)=(K所以,(Xn)O1.n1.ogn
6、).AfX1.im(r1.og/r)(rj-1.im(w1.og)-Iim(Iogw)Zw-O.所映,CXn1.ogn)0(n1i,所以.疗IO(I)0(1.ogn)Oi)#1j.同理,可UE1.O(2)O(n!)1项瞥不为“的tt刑求和所以.m,o().应该出t灿=1/I2JT*3nn-(*)n2.而。(“=助5:一58三Oimax(12,3.4.川)IR据性质OIf1.十O(gJ=O(maxIf.gJ)=(Xn)生介操作.上界的并取H大齐3 .求以下各式的渐过表达式:54+8n3r1.V1.13*.563zIogw5t6Iog4”解答,5w2*8三O(w2)J31121.1.3o=O(3)
7、;56+3=O(I)/O(1)表示常效:Iopis=O1.ogb61.og4A=Og*:(4) /(r)=n1.ognn,&S)=Icg八(5) /(n)=II.()=ogIh(6) /In)=1.og2n.g()=Iogzit(7) f(n)=2g(11)=1.ttr:/(n)=.gS)=3,(1) /()=Iogr=I1.og+7)=(g(n)(2) /(n)=1.ugr=O(n,)=0(g(n11:(3) /(ft)=0(k)f2n)=0(n)s4)f(w)=ZiIogn+s=C(氏四)=Q(g(r)/(rj=11=(1.og11)=(g()i/(n,.=1.og-11=0I1.ogn)
8、=Q(n):(7) /(n)=,=Q(100j)=Q(g():(8)f()=20=O(3)=O(g(n).6 .证明:11?=(X*r.证明:!*(211),(P)iimny-1.irn(2nf2(nr)(I+(1.n),-O.n!-(n,)?.证明I如果一个算法在平均情况下的计算时间乂杂度足eifs),那么读尊法在呆坏情况下所雷的计算时间是a(f(n).IE明:1.WW)一PiDT(NJ)ZP(bmaxT(N.r)-T(N.r)XP(iJPkg61.Pv=TN.)=7nr(,).-.7,)=()=()8 .硬件厂商XYZ公M”称他们最新研M的面处理:运行速收为我克今对ABC公,川可类产丛的1
9、00侪.对于计宜JI杂性分别为,5.n利”!的各劣法.假设用ABC公司的计。机在1小时内位解输入规模为。的何电.郡么用XYZ公司的计算机在I小时内分别侵解怆入规模为多大的何理?解答In=100n;j=1(X).二rf=1011;=MXM,rf=10j,wn!=)OO,.:*rit+)og100=n6.64,9 .:11假设某打法在输人旗校为免时的计算时间为Ts)=32.在某台计业机上实现并完成该W法的时间为,秒.现货另一台计籁机.其运行速度为第一台的64倍,那么在这台叙机器上用同一打法在,秒内使帐输入规模为多大的何圆?(2) (K设上述卯法的计獴时间改良为丁。)=疗.其他条件不变,那么在新机北
10、上用r杪时间能解构入规模为彩大的问题?(3)假设上述法的计算时间进一步改艮为TE)=8.其他条件不变.那么戏In在新机M上用,杪时间由解输入规模为多大的何魁?,计算(I:1.Ki式=+wt-1卜2+(mr+1h2=n;,in*m与nm同时为蜴数时.原式心+”2+(nm2=n(2)同理.矶“部是整数,所以与加布同时为布坡或低数当与/M”同时为奇妆时.原式=Xrt*n+1M2+(mm+112=/n1当n*-m,11-m同时为例数时.瞭式=X+mb,2+(n-112*1.=+13 .刘断下述等式的在伪I(1) (1.J)w=1.t,7J(2) (x1.1.,31.=,21.(3) (1.J)1x1,
11、i1解答:(I)当mEk为整数时.i等式成立.当EI*k为整数时,泉等式不成立.此时左坛不一定为整数,而右坛为他数.(2)警式成立.(3)当齐比k为修数时.原等式成立.当KHJt为整S(时.章等式不成立.此时“工产Wx1.f所以左端小于右端.4 .求证I:1.)1.rJ1.yJ+yx1.+1.),EIk.1.3)ogoi)1.=1.gJ+:4)1.,r*m)j=1.7jj=117*J41证明I(I)当x.y为整数时.摩等式成立.当KF不为整数时,=1.Jx.Y=1.yJ+.4(XAr,YI.那么行x+y=1.xJ+v+1.yJ+,=1.j+1.yJ+v+yM(kv.I.所以OVAV+4y1.x
12、J*1.J.即有Ix+y1.J+1.jJ所以.朦不等式1.xJ*1.yJ*.(2)当x.y为整数时.能不等式成立,当X.F不为用数时,令X=x1.Ax.y1.Ay.其中0Z.Ay1.那么有rx*y1.=x1.-Ax+y1.AyIN1.1.x1.+1.)1.(AI+y1.1闪为0At.Ayvh所以有04Arqy2.因此.+y1.dTx1.+j1.1.=.r1.+FA所以,隙不等式VI+1.IMx+M成立。131当”为2*时.1.og(*1.)1=+1.而1.ognj+1A+1.所以.朦等代成1.当“不为为时.那么2qz.此处*1.ogrd,那么2*1.v+1.2*,那么有:1.og(n+1.)1.=*+1.UognJ+I=+I,所以,IS等式