- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机软件技术基础第2章.算法分析
2.2算法分析 2.2.1 算法的概念 一.算法概念 为解决特定问题所采用的步骤描述,它是指令的有限序列,其中每条指令表示一个或多个操作。 一.算法概念——算法和数据结构 算法和数据结构有机结合构成了程序 数据结构和变量描述问题的对象 程序结构、函数和语句描述问题的算法 一.算法概念——算法特性 有穷性:算法执行有穷步后,自动停止 确定性:含义确切, 无二义性 可行性:每个基本操作均可实现 输入:零个或多个输入 输出:至少一个输出 二.算法描述 自然语言 流程图 P14 表2-1-1(举例) 类PASCAL 语言 高级语言 2.2.2 时间复杂度和空间复杂度 算法的评价标准 正确性 可读性 健壮性: 遇到非法输入需要相应处理 时间及空间的使用效率 时间效率的量度 事后统计 事先估算 选择的实现语言 编译程序的质量 硬件本身的速度 设计的算法 问题的规模 算法的构成 语句频度 语句执行的次数称为语句频度 语句频度 for (i=1;i=n;i++) for (j=1;j=n;j++) { c[i][j]=0; for (k=1;k=n;k++) c[i][j]+=a[i][k]*b[k][j] } ========================== f(n)=n3+n2 语句频度 i=0; while ((in) (A[i]!=x)) i++; if (i=n) k=0 ;else k=i; =========================== 平均 f(n)=(1+2+...+n-1)/n=(n-1)/2 时间复杂度 设语句频度函数为 f(n) T(n) = O(f(n)) T(n)表示随着n的增长与f(n)同步增长 举例:O(n) 表示随着n 的增长,时间以线性速度增长。 常见的时间复杂度 O(1) O(log n) O(n) O(nlog n) O(n2) O(n3) ..... 算法的空间复杂度 空间复杂度 for (i=1;i=n;i++) for (j=1;j=n;j++) for (k=1;k=n;k++) a[i]=1 ========================== 空间复杂度为 O(1) 2.2 常用算法 常用算法 迭代法:方程求根(P15页) 数值近似求解。确定一合适迭代公式,选一初始近似值以及解的误差,循环处理实现迭代过程,终止条件:前后两次得到的近似值之差的绝对值 = 预先给定的误差。 递推法:斐波那契数列(P16页) 从已知的初始条件出发,逐次递推出最后所求的值 常用算法 递归法:斐波那契数列 (P17页) 直接或间接调用它自身。从函数本身出发,逐次上溯调用其本身求解过程,至递归出口,再从里向外倒推回来,得到最终的值。 穷举法:百钱买百鸡(P17页) 回朔法:八皇后问题(P20页) 试探法 常用算法 分治法:快速排序 (P18页) 复杂问题分解为小问题,找出各小问题的解,组合成整个问题的解。 贪心法:选满足要求的最小子集 动态规划法:分解若干子问题求解 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.
文档评论(0)