第一章 算法分析.ppt

上传人:s****8 文档编号:69240200 上传时间:2022-12-31 格式:PPT 页数:13 大小:142KB
返回 下载 相关 举报
第一章 算法分析.ppt_第1页
第1页 / 共13页
第一章 算法分析.ppt_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《第一章 算法分析.ppt》由会员分享,可在线阅读,更多相关《第一章 算法分析.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 第第1 1章章 算法分析算法分析21世纪高等院校规划教材 返回总目录返回总目录返回总目录返回总目录 算法分析算法分析n n关于算法关于算法n n算法复杂度(算法复杂度(Big-OBig-O)1.2006关于算法关于算法n n是解决问题(problems)的有限步骤程序n n利用算法可以实现顺序查找1.2006数组元素相加的算法数组元素相加的算法 n n将将数数组组中中每每个个元元素素相相加加后后返返回回总总和和。实实现现该该算算法法的的程程序序段如下所示:段如下所示:执行次数执行次数 int int sum(sum(int arrint arr,intint n)n)intint i,tot

2、al=0;i,total=0;1 1 for(i=0;in;i+)for(i=0;in;i+)n+1 n+1 total+=total+=arrarri;i;n n return total;return total;1 1 上述程序段中语句的执行次数总和为上述程序段中语句的执行次数总和为1+1+n+1+n+1=2n+3n+1+n+1=2n+3。1.2006矩阵相乘的算法矩阵相乘的算法 void void mulmul(intint a,a,intint b,b,intint c,c,intint n)n)执行次数执行次数 IntiInti,j,k,sum;1,j,k,sum;1 for(i=

3、0;in;i+)n+1 for(i=0;in;i+)n+1 for(j=0;jn;j+)n(n+1)for(j=0;jn;j+)n(n+1)sum=0;nsum=0;n2 2 for(k=0;kn;k+)nfor(k=0;kn;k+)n2 2(n+1)(n+1)sum=sum+aik*bkj;nsum=sum+aik*bkj;n3 3 cij=sum;ncij=sum;n2 2 1.2006折半查找的算法折半查找的算法intint search(search(intint data,data,intint target,target,intint n)n)intint i,mid,lower=

4、0,upper=n-1;i,mid,lower=0,upper=n-1;mid=(lower+upper)/2;mid=(lower+upper)/2;while(lowerupper)while(lower target)if(datamid target)upper=mid-1;upper=mid-1;1.2006折半查找的算法(续)折半查找的算法(续)elseelse lower=mid+1;lower=mid+1;mid=(lower+upper)/2;mid=(lower+upper)/2;1.2006斐波那契数列(递归的程序段)斐波那契数列(递归的程序段)int Fibonacci

5、int Fibonacci(intint n)n)if(n=0)if(n=0)return 0;return 0;else else if(n=1)if(n=1)return 1;return 1;else else return(return(FibonacciFibonacci(n-1)+(n-1)+FibonacciFibonacci(n-2);(n-2);1.2006斐波那契数列(非递归的斐波那契数列(非递归的程序段)程序段)int Fibonacciint Fibonacci(intint n)n)intint prev1,prev2,item,i;prev1,prev2,item,

6、i;if(n=0)if(n=0)return 0;return 0;elseelse if(n=1)if(n=1)return 1;return 1;else else prev2=0;prev2=0;prev1=1;prev1=1;for(i=2;i=n;i+)for(i=2;i=n;i+)item=prev1+prev2;item=prev1+prev2;prev2=prev1;prev2=prev1;prev1=item;prev1=item;return item;return item;1.2006顺序查找顺序查找的算法的算法intint search(search(intint d

7、ata,data,intint target,target,intint n)n)intint i;i;for(i=0;in;i+)for(i=0;innn0 0时时都都满满足足f(n)cg(n)f(n)cg(n),则则f(n)=O(g(n)f(n)=O(g(n)n n数数组组元元素素的的Big-OBig-O为为O(n)O(n),起起泡泡排排序序为为O(nO(n2 2),而而矩矩阵阵乘乘法法为为O(nO(n3 3),顺顺序序查查找找为为O(n)O(n),折折半半查查找找为为O(O(lognlogn),而而斐斐波波那那契契数数列列若若以以递递归归处处理则为理则为O(2O(2n/2n/2),若以非递归方式处理则为若以非递归方式处理则为O(n)O(n)1.2006 图图 使用递归方式的斐波那契数列的示意图使用递归方式的斐波那契数列的示意图 1.2006

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁