




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1-3.最大公约数为1。快1414倍。主要考虑循环次数,程序1-2的while循环体做了 10次,程序1-3的while循环体做了 14141 次(14142-2 循环)若考虑其他语句,则没有这么多,可能就601 倍。第早2-8.( 1 )画线语句的执行次数为logn。(log n)。划线语句的执行次数应该理解为一格整体。(2 )画线语句的执行次数为n(n 1)(n 2)。(n3)。(3 )画线语句的执行次数为n。(、韦)。(4)当n为奇数时画线语句的执行次数为理忙,当n为偶数时画线语句的执行次数为吓。(n2)。2-10.(1)当n1 时,5n28n2 5n2,所以,可选c5 ,n。1。对于n
2、n。,f(n)5n28n25n2,所以,5n28n 2(n2)。(2)当n8时,5n2 8n 25n2n2 2 4n2,所以,可选c4 , ng8。对于n n0,f(n)5n28n24n2,所以,5n228n 2(n )。(3)由( 1:)、2!)可知,取C14,C25 , n8,当 nn 时,有(;n25n228n 2 gn ,所以 5n2 8n 2(n2)。2-11. 当 n 3时,log n n log3n,所以 f(n) 20n log n 21n ,Q Ag(n) n log3 n 2n。可选 c 一,n 3。对于 n n, f( n) cg(n),即 f( n) (g( n)。2注
3、意:是f(n)和 g(n)的关系。(2) 当 n 4 时,log n n log2 n,所以 f(n) n2 / log n n2, g(n) nl og2 n n2。 可选 c 1, n 4。对于 n ng, f (n) n2 cg(n),即 f(n) (g(n)。(3) 因为 f(n) (log n)logn nlog(logn), g(n) n/log n nlogn2。当 n 4 时,f(n) nlog(logn) n , g( n) nlogn 2 n。所以,可选 c 1 , n 4,对于 n n,f( n) cg(n), 即 f(n) (g(n)。第二章2-17.证明:设 n 2i
4、,贝U i log n。当 n 2 时,Tn 2n log n。所以,Tn n log n 。第五早5-4. SolutionType DandC1(int left,int right)while(!Small(left,right )&leftvright)int m=Divide(left,right);if(xPm) left=m+1;else return S(P)5-7. template vclass T int SortableList:BSearch(c onst T&x,i nt left,i nt right) const if (left=right)int m=(ri
5、ght+left)/3;if (xlm) return BSearch(x,m+1,right);else return m;return -1;第五章9.至多,至多证明:因为该算法在成功搜索的情况下,关键字之间的比较次数至少为log n :为logn 1。在不成功搜索的情况下,关键字之间的比较次数至少为log n 1为logn 2。所以,算法的最好、最坏情况的时间复杂度为logn。1假定查找表中任何一个元素的概率是相等的,为-,那么,n不成功搜索的平均时间复杂度为代nlog n,n 1成功搜索的平均时间复杂度为 As n - n En E 1 log n 。nnn其中,I是二叉判定树的内路径
6、长度,E是外路径长度,并且E I 2n。步数012345初始时11111111111OO211111OO311111OO411111OO排序结果11111OO步数01234567初始时5583432OO14233585OO23234585OO33234585OO42334585OO52334558OO排序结果2334558OO12. (1)证明:当n 0或n 1或n 2时,程序显然正确当n=right-left+12时,程序执行下面的语句:int k=(right-left+1)/3;StoogeSort(left,right-k);StoogeSort(left+k,right);Stoog
7、eSort(left,right-k);首次递归StoogeSort(left,right-k);时,序列的前2/3的子序列有序当递归执行StoogeSort(left+k,right); 时,使序列的后2/3的子序列有序,经过这两次递归排序,使原序列的后1/3的位置上是整个序列中较大的数,即序列后1/3的位置上数均大于前2/3的数,但此时,前2/3的序列并不一定是有序的。再次执行StoogeSort(left,right-k);使序列的前2/3有序经过三次递归,最终使序列有序。所以,这一排序算法是正确的。(2 )最坏情况发生在序列按递减次序排列2ni设n 23,则ilog n 1log3 1
8、冒泡排序最坏时间复杂度为n2,队排序最坏时间复杂度为nlog n,快速排序最坏时间复杂度为nlogn。所以,该算法不如冒泡排序,堆排序,快速排序。13. template vclass T select (T&x,int k)if(mn) swap(m,n);if(m+nk|k=0) coutOut Of Bounds; return false; int *p=new tempk;int mid,left=O,right=n-1,c nt=O,j=O,r=O;for(int i=0;i0)domid=(left+right)/2;if(amidbi) right=mid;else cnt=m
9、id; break;while(leftright-1)if(aleftcnt)if(cnt0)for(j=0;jcnt;j+)tempj=ar;r+;left=cnt;k-=cnt;elsetempj=bi;left=0;k-;elsefor(j=0;jk;j+)tempj=ar;r+;left=cnt;k-=cnt;return tempk-1;第八早1.由题可得:Po P1 P2 P3 P4 P5w0 w-! w2 w3 w4 W5Pj10 5 15 7 6w 23 ,_5 , 7H18 371 ,所以,最优解为X0,X!,X2,X3,X4,X5,X6,1,3,1,0,1,1,1 ,3最
10、大收益为105 2 15 6 18 33551。8.第八早6-9 .普里姆算法。因为图G是个无向连通图。所以 n-1=m=n (n-1)/2;O(n )=m=0( n 2);克鲁斯卡尔对边数较少的带权图有较高的效率,而1.99 nn2,此图边数较多,接近完全图,故选用普里姆算法。6-10 .T仍是新图的最小代价生成树。证明:假设T不是新图的最小代价生成树,是新图的最小代价生成树,那么,即在原图中存在一颗生成cost(T )cost(T)cos有T-c)n-1)cost(t)-c(n-1)树,其代价小于T的代价,这与题设中T是原图的最小代价生成树矛盾。所以假设不 成立。证毕。第七章1. Bcos
11、t(1,0)=0;Bcost(2,1)=c(1,1)+Bcost=5Bcost(2,2)=c(1,2)+Bcost(1,0)=2Bcost(3,3)=minc(2,3)+Bcost(2,2),c(1,3)+Bcost(2,1)=min6+2,3+5=8Bcost(3,4)=c(2,4)+Bcost(2,2)=5+2=7Bcost(3,5)=minc(1,5)+Bcost(2,1),c(2,5)+Bcost(2,2)=min3+5,8+2=8Bcost(4,6)=minc(3,6)+Bcost(3,3),c(4,6)+Bcost(3,4),c(5,6)+Bcost(3,5)=min1+8 ,6+
12、7,6+8=9Bcost(4,7)=minc(3,7)+Bcost(3,3),c(4,7)+Bcost(3,4),c(5,7)+Bcost(3,5)=min4+8 ,2+7,6+8=9Bcost(5,8)=minc(6,8)+Bcost(4,6),c(7,8)+Bcost(4,7)=min7+9,3+9=122.向后递推的计算过程如上题所示向前递推过程如下:cost(5,8)=0cost(4,6)=7,cost(4,7)=3cost(3,3)=min1+cost(4,6),4+cost(4,7)=7,cost(3,4)=min6+cost(4,6),2+cost(4,7)=5cost(3,5)
13、=min6+cost(4,6),2+cost(4,7)=5cost(2,1)=min3+cost(3,3),3+cost(3,5)=8 cost(2,2)=min6+cost(3,3),8+cost(3,5),5+cost(3,4)=10 cost(1,0)=min5+cost(2,1),2+cost(2,2)=12所以, d(4,6)=d(4,7)=8, d(3,3)=d(3,4)=d(3,5)=7, d(2,1)=5, d(2,2)=4, d(1,0)=2从 s 到 t 的最短路径为(0, d(1,0)=2, d(2,2)=4, d(3,4)=7, d(4,7)=8), 路径长为 12。第
14、七章9. char A8= 0 , x , z ,z y, ,y z, , x B8= 0 , z , x , y , y , z , x , z(a) cij(b )sij所以,最长公共字串为 (x,y,z,z)。第七章11. void LCS:CLCS ( int i , int j )if ( i = = 0 | j = = 0) return;if (cij = = ci-1j-1+1)CLCS ( i-1,j-1);Cout=cij-1)CLCS (i-1,j);else CLCS (i,j-1);12. int LCS:LCSLength()for (i =1; i=n; i+)c
15、0i=0;for (i =1; i=m; i+)for (int j =1; j=cij-1) cij=ci-1j;else cij=cij-1;return cmn;1015. S 1 ( 0,0) , S10 ( 10,2) , 01S0( 0,0),(10,2) , S11 ( 15,5), ( 25,7) ,S1(0,0),(10,2),(15,5),(25,7) , S12 (6,8),(16,10),(21,13),(31,15) ,S2( 0,0),(6,8),(16,10),(21,13),(31,15) S13 (9,1),(15,9),(25,11),(30,14),(40
16、,16) ,8-1 状态空间:描述问题的各种可能的情况,一种情况对呀状态空间的一个状态。 显示约束:用于规定每个 xi 取值的约束条件称为显示约束 隐式约束:用于判定一个候选解是否为可行解的条件 问题状态:在状态空间树中的每个节点称为一个问题状态 解状态:如果从根到树中某个状态的路径代表一个作为候选解的元组,则该状态为解 状态 答案状态:如果从根到树中某个状态的路径代表一个作为可行解的元组,则该状态为 解状态活结点:回溯法从开始结点出发,以深度优先的方式搜索整个解空间,这个开始结点就成为一个活结点。未检测的结点称为活结点扩展结点:算法从x出发,访问x的摸个后继结点y,则x被称为扩展结点约束函数:一个约束函数是关于部分向量的函数 Bk(x0,x1xk), 它被定义为:如果可以判定丫的子树上不含任何答案状态,则Bk(xO,x1.xk)为false,否则为true.剪枝函数:约束函数和限界函数的目的相同,都是为了剪去不必要搜索的子树,减少 问题求解所需实际生成的状态节点数,他们统称为剪枝函数8-2bool place(int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 有效管理时间的月度工作方案计划
- 仪表知识温度培训课件
- 第24课《唐诗三首》之《茅屋为秋风所破歌》教学设计 2023-2024学年统编版语文八年级下册
- 某妇产医院品牌推广部网络推广工作思路
- 2025年青海普通货运从业资格证模拟考试
- 2025年淮南驾驶资格证模拟考试
- 2025年杭州货运从业资格模拟考试
- 2025年上海货运从业资格证考试试题及答案
- 2025年德州c1货运从业资格证考试内容
- 2025年陕西货运丛业资格证考试题目及答案
- 培训绩效管理与绩效评价课件
- 输血相关制度及流程-课件
- 零售药店实施情况内审报告
- 张元鹏《微观经济学》(中级教程)笔记和课后习题详解
- DGT252-2021农机播种作业监测终端
- 抽水蓄能式水电站机组巡检维护保养与安全管理方案
- 新能源汽车技术专业教学资源库申报书
- (投标书范本)聘请常年法律顾问项目投标书
- 喇荣课诵集(早课部分)
- 【企业薪酬体系管理研究国内外文献综述】
- 探究凸透镜成像规律flash动画课件
评论
0/150
提交评论