第2章-算法的分析基础分析解析.ppt
《第2章-算法的分析基础分析解析.ppt》由会员分享,可在线阅读,更多相关《第2章-算法的分析基础分析解析.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 算法分析基础柯昌博 日期:2015-2-62015-2-6南京邮电大学计算机学院计科系3/3/20232.1 算法复杂度好算法的4个重要特征:Correctness正确性注意区分“正确性”和“健壮性”的概念:算法正确性在合法的输入下,算法应实现预先规定的功能和计算精度要求。程序健壮性当输入不合法的数据时,程序应能做适当处理而不至于引起严重后果。正确性和健壮性互相补充。程序可靠性在正常情况下能正确地工作,在异常情况下也能做出适当处理。2.1 算法复杂度好算法的4个重要特征:Correctness正确性Simplicity,clarity简明性遗憾的是,简单的算法不一定高效思路清晰、层次分
2、明、容易理解、利于编码和调试。2.1 算法复杂度好算法的4个重要特征:Correctness正确性Simplicity,clarity简明性Amount of time/space used效率执行算法所需的时间和存储空间执行算法所需的时间和存储空间算法设计者常常需要在算法的算法设计者常常需要在算法的简明性简明性和和效率效率之间作出谨慎的选择之间作出谨慎的选择2.1 算法复杂度好算法的4个重要特征:Correctness正确性Simplicity,clarity简明性Amount of time/space used效率Optimality最优性算法执行时间达到求解该类问题所算法执行时间达到求
3、解该类问题所需需时间的下界时间的下界。与所求解问题自身的复杂程度有关与所求解问题自身的复杂程度有关。又如:可证排序问题的时间复杂度下界为(nlogn)。则最坏时间复杂性为O(nlogn)的排序算法是最优算法。因此:堆排序算法和两路合并排序算法都是最优算法。例如:FindMax(int L)/求n个元素中的最大元素 int max=L0;int i=1;while(in)if (maxLi)max=Li;i=i+1;最优算法影响程序运行时间的因素程序所依赖的算法问题规模和输入数据计算机系统性能根本的、起决定作用的根本的、起决定作用的数值大小和状态数值大小和状态硬件系统性能(硬件系统性能(CPU速
4、度)和软件系统性能(操作系统、编译器速度)和软件系统性能(操作系统、编译器)输入、输出输入、输出运行一个算法所需的时间和空间资源的量。u算法的时间复杂性(Time Complexity)T(n)u算法的空间复杂性(Space Complexity)S(n)其中n是问题的规模(输入大小)算法复杂度How to Measure?Machine independentLanguage independentProgramming style independentImplementation independent算法的时间复杂度算法的时间复杂度算法运行所需的时间最好、最坏和平均时间复杂度(不考虑计
5、算机因素对算法分析的影响)最好情况(出现概率较大时分析)最差情况(实时系统)平均情况(已知输入数据是如何分布的,通常假设等概率分布)算法的时间复杂度(1)最好情况下的时间复杂性:B(n)=Tmin(n)=min T(n,I)|IDn(2)最坏情况下的时间复杂性:W(n)=Tmax(n)=max T(n,I)|IDn(3)平均情况下的时间复杂性:A(n)=Tavg(n)=I:问题规模为n的实例。Dn:规模为n的所有合法输入的集合。p(I):实例I出现的概率。算法的空间复杂度算法的空间复杂度 算法运行所需的存储空间固定空间需求与所处理数据的大小和个数无关,即与问题实例的特征无关。(包括:程序代码、
6、常量、简单变量、定长成分的结构变量所占的空间)可变空间需求与算法执行过程中处理的特定数据的规模有关。(如:数据元素所占的空间,算法执行所需的额外空间如递归算法所需系统栈空间)通过程序步来分析算法的时间复杂度求数组元素累加之和的迭代程序:(P20 程序2-1)float Sum(float list,const int n)float tempsum=0.0;/1 for(int i=0;i0,则f(n)=O(nm)。例如:程序2-1float Sum(float list,const int n)float tempsum=0.0;/1 for(int i=0;in;i+)/n+1 temps
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 分析 基础 解析
限制150内