收藏 分销(赏)

中科院计算机算法分析和设计习题答案市公开课一等奖百校联赛获奖课件.pptx

上传人:快乐****生活 文档编号:2960151 上传时间:2024-06-12 格式:PPTX 页数:24 大小:648.51KB
下载 相关 举报
中科院计算机算法分析和设计习题答案市公开课一等奖百校联赛获奖课件.pptx_第1页
第1页 / 共24页
中科院计算机算法分析和设计习题答案市公开课一等奖百校联赛获奖课件.pptx_第2页
第2页 / 共24页
中科院计算机算法分析和设计习题答案市公开课一等奖百校联赛获奖课件.pptx_第3页
第3页 / 共24页
中科院计算机算法分析和设计习题答案市公开课一等奖百校联赛获奖课件.pptx_第4页
第4页 / 共24页
中科院计算机算法分析和设计习题答案市公开课一等奖百校联赛获奖课件.pptx_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、第一章 复杂性分析初步 习题 语 句 s/e 频率 总步数template void Mult(T*a,T*b,int m,int n,int p)0 0 0for(int i=0;im;i+)1 m+1 m+1for(int j=0;jp;j+)1 m*(p+1)m*p+m T sum=0;1 m*p m*p for(int k=0;kn;k+)1 m*p*(n+1)m*p*n+m*p Sum+=aik*bkj;1 m*p*n m*p*n Cij=sum;1 m*p m*p 总总 计计 2*m*p*n+4*m*p+2*m+11.试确定下述程序执行步数,该函数实现一个mn矩阵与一个np矩阵之间

2、乘法:s/e 表示每次执行该语句所要执行程序步数,频率是指该语句总执行次数。第1页2 函数MinMax用来查找数组a0:n-1中最大元素和最小元素,以下给出两个程序。令n为实例特征。试问:在各个程序中,a中元素之间比较次数在最坏情况下各是多少?6.按照渐进阶从低到高次序排列以下表示式:templatebool MinMax(T a,int n,int&Min,int&Max)if(n1)return false;Min=Max=0;/初始化 for(int i=1;iai)Min=i;if(aMaxai)Max=i;return true;最好,最坏,平均比较次数都是最好,最坏,平均比较次数都

3、是 2*(n-1)templatebool MinMax(T a,int n,int&Min,int&Max)if(n1)return false;Min=Max=0;/初始化 for(int i=1;iai)Min=i;else if(aMaxB-E|0B-A-C|0C-B-D-E|0D-C|0E-A-C-F-G|0F-E-G|0G-E-F|0第10页ABEDGCF11234756111554A-B-E|0B-A-C|0C-B-D-E|0D-C|0E-A-C-F-G|0F-E-G|0G-E-F|0初始化 DFN:=0,num:=1;DFNL(A,null),DFN(A):=num=1;L(A

4、):=num=1;num+:=2。DFN(B)=0,DFNL(B,A)DFN(B):=num=2,L(B):=num=2,num+:=3;DFN(A)=10,A=A,无操作。DFN(C)=0 DFNL(C,B)DFN(C):=num=3,L(C):=num=3,num+:=4;DFN(B)=10,B=B,无操作.DFN(D)=0,DFNL(D,C),DFN(D):=num=4;L(D):=num=4;num+:=5;DFN(C)=30,C=C,无操作.DFNL(D,C)结束结束。DFN(E)=0,DFNL(E,C),DFN(E):=5;L(E):=5;num+:=6;DFN(A)=10,AC,

5、L(E)=min(L(E),DFN(A)=1。DFN(C)=30,C=C,无操作。DFN(F)=0,DFNL(F,E),DFN(F):=num=6;L(F):=num=6;num+:=7;DFN(E)=50,E=E,无操作。DFN(G)=0,DFNL(G,F),DFN(G):=num=7;L(G):=num=7;num+:=8;DFN(E)=50,EF,L(G)=min(L(G),DFN(E)=5;DFN(F)=60,F=F,无操作。DFNL(G,F)结束结束 L(F):=min(L(F),L(G)=min(6,5)=5 DFNL(F,E)结束。结束。L(E):=min(L(E),L(F)=m

6、in(1,5)=1 DFNL(E,C)结束。结束。L(C):=min(L(C),L(E)=min(3,1)=1 DFNL(C,B)结束。结束。L(B):=min(L(B),L(C)=min(2,1)=1 DFNL(B,A)结束。L(A):=min(L(A),L(B)=1 因DFN(E)=0,E null,则L(A)=min(L(A),DFN(E)=1DFNL(A,null)结束。第11页序号顶点DFNL栈顶栈底2-连通割点1A1(1,0,0,0,0,0,0)(A,B)2B2(1,2,0,0,0,0,0)(B,C),(A,B)3C3(1,2,3,0,0,0,0)(C,D),(B,C),(A,B)

7、4D4(1,2,3,4,0,0,0)(B,C),(A,B)(C,D);C5E5(1,1,1,4,1,0,0)(E,F),(E,A),(B,C),(A,B)6F6(1,1,1,4,1,6,0)(F,G),(E,F),(E,A),(B,C),(A,B)7G7(1,1,1,4,1,5,5)(E,A),(B,C),(A,B)(G,E),(F,G),(E,F)E8(1,1,1,4,1,5,5)(E,A),(B,C),(A,B)第12页7.对图另一个检索方法是 D-Search。该方法与 BFS 不一样之处于于将队列换成栈,即下一个要检测结点是最新加到未检测结点表那个结点。1)写一个D-Search算法;

8、2)证实由结点v开始D-Search能够访问v可抵达全部结点;3)你算法时、空复杂度是什么?(类比BFS算法)(类比定理2.2.1证实)第13页proc DBFS(v)/PushS(v,S);/将S初始化为只含有一个元素v栈 while S非空 do u:=PullHead(S);count:=count+1;visitedu:=count;for 邻接于u全部顶点w do if sw=0 then PushS(w,S);/将w压入栈中 sw:=1;endif endfor endwhile endDBFS图D搜索算法伪代码:proc DBFT(G,)/count、s同DBFS中说明,bran

9、ch是统计图G连通分支数 count:=0;branch:=0;for i to n do si:=0;/将全部顶点标识为未被访问 endfor for i to do if si=0 then DBFS(i);branch:=branch+1;endif endfor endDBFT第14页2)证实:除结点v外,只有当结点w满足sw=0时才被压入栈中,所以每个结点至多有一次被压入栈中,搜索不会出现重合和死循环现象,对于每一个v可抵达节点,要么直接被访问,要么被压入栈中,只有栈内节点全部弹出被访问后,搜索才会结束,所以由结点v开始D-Search能够访问v可抵达全部结点。3)除结点v外,只有当

10、结点w满足sw=0时才被压入栈中,所以每个结点至多有一次被压入栈中。需要栈 空间至多是-1;visited数组变量所需要空间为;其余变量所用空间为O(1),所以s(,)=()。假如使用邻接链表,for循环要做d(u)次,而while循环需要做次,又visited、s和count赋值都需要次操作,因而t(,)=(+)。假如采取邻接矩阵,则while循环总共需要做2次操作,visited、s和count赋值都需要次操作,因而t(,)=(2)。第15页8.考虑下面这棵假想对策树:1)使用最大最小方法(2-4-2)式获取各结点值;2)弈者A为获胜应该什么棋着?3)列出算法VEB计算这棵对策树结点值时各

11、结点被计算次序4)对树中每个结点X,用(2-4-3)式计算V(X);5)在取X根,l=10,LB=-,D=情况下,用算法AB计算此树根值期间,这棵树那些结点没有计算?841551030592050 1861510520第16页2064205481562030550841520510305920 50 186151055201)使用最大最小方法(2-4-2)式获取各结点值maxmaxmaxminmin第17页2)弈者A为获胜应该什么棋着?2064205481562030550841520510305920 50 18615105520XX1X2X3X4X1.1X1.2X2.1X2.2X3.1X3

12、.2X4.1X4.2X1.1.1X1.1.2X1.1.3X1.2.1X2.1.1X2.2.1X3.1.1X3.1.2X1.1.1.1X3.1.2.1X3.2.1X3.2.2X3.2.3X4.1.1X4.2.1X4.4.2X4.2.3X4.2.4第18页3)列出算法VEB计算这棵对策树结点值时各结点被计算次序46151051-523469-10-1515-66578-6-441011-4第19页3)列出算法VEB计算这棵对策树结点值时各结点被计算次序20-6-4-20-5415620305-4-15-20-5-10-30-5-6-15-10-55202420231519223412 141618

13、 211711312695781011第20页4)对树中每个结点X,用(2-4-3)式计算V(X);20-6-4-20-5481562030550-8-4-15-20-5-10-30-5-9-20-50-18-6-15-10-5520第21页5)在取X根,l=10,LB=-,D=情况下,用算法AB计算此树根值期间,这棵树那些结点没有计算?20-6-6-20-206156203020-4-15-20-5-10-30-5-6-15-10-5520第22页5)在取X根,l=10,LB=-,D=情况下,用算法AB计算此树根值期间,这棵树那些结点没有计算?20-6-6-20-206156203020-4-15-20-5-10-30-5-6-15-10-5520第23页5)在取X根,l=10,LB=-,D=情况下,用算法AB计算此树根值期间,这棵树那些结点没有计算?20-6-6-20-206156203020-4-15-20-5-10-30-5-6-15-10-5520第24页

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服