算法分析习题参考答案第一章.doc_第1页
算法分析习题参考答案第一章.doc_第2页
算法分析习题参考答案第一章.doc_第3页
算法分析习题参考答案第一章.doc_第4页
算法分析习题参考答案第一章.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题一 复杂性分析初步1. 试确定下述程序的执行步数,该函数实现一个mn矩阵与一个np矩阵之间的乘法: 矩阵乘法运算 template void Mult(T *a, T *b, int m, int n, int p) /mn矩阵a与np矩阵b相成得到mp矩阵c for(int i=0; im; i+) for(int j=0; jp; j+) T sum=0; for(int k=0; kn; k+) Sum+=aik*bkj; Cij=sum; 语 句 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+1其中 s/e 表示每次执行该语句所要执行的程序步数。频率是指该语句总的执行次数。2 函数MinMax用来查找数组a0:n-1中的最大元素和最小元素,以下给出两个程序。令n为实例特征。试问:在各个程序中,a中元素之间的比较次数在最坏情况下各是多少? 找最大最小元素 方法一templatebool MinMax(T a, int n, int& Min, int& Max)/寻找a0:n-1中的最小元素与最大元素 /如果数组中的元素数目小于1,则还回false if(n1) return false; Min=Max=0; /初始化 for(int i=1; iai) Min=i; if(aMaxai) Max=i; return true;最好,最坏,平均比较次数都是 2*(n-1) 找最大最小元素 方法二templatebool MinMax(T a, int n, int& Min, int& Max)/寻找a0:n-1中的最小元素与最大元素 /如果数组中的元素数目小于1,则还回false if(n1) rreturn false; Min=Max=0; /初始化 for(int i=1; iai) Min=i; else if(aMaxai) Max=i; return true;最坏2*(n-1), 最好 n-1, 平均3.证明以下不等式不成立:1). 2).; 4证明:当且仅当时,。 5.下面那些规则是正确的?为什么? 1).;错 2).;错 3).;错 4).;错 5).。错 6). 对 6. 按照渐进阶从低到高的顺序排列以下表达式: 顺序:7. 1) 假设某算法在输入规模是时为. 在某台计算机上实现并完成该算法的时间是秒.现有另一台计算机,其运行速度为第一台的64倍, 那么,在这台计算机上用同一算法在秒内能解决规模为多大的问题?规模时间复杂度运行速度(时间/每步)总时间解:关系式为 ,在新机器上由于运行速度提高为,设在新机器上能解决的规模为m,则解得2) 若上述算法改进后的新算法的计算为, 则在新机器上用秒时间能解决输入规模为多大的问题?设在新机器上用秒时间能解决的输入规模为m,则,解得3)若进一步改进算法,最新的算法的时间复杂度为 ,其余条件不变,在新机器上运行,在秒内能够解决输入规模为多大的问题?可解决的最大时间复杂度为因为为常数不随输入规模n变化,所以任意规模的n都可在t秒内解决。8. Fibonacci数有递推关系: 试求出的表达式。解:方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论