网站大量收购独家精品文档,联系QQ:2885784924

时间复杂度的作用是度量算法执行的.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
时间复杂度的作用是度量算法执行的

9-2 算法基本概念 大学计算机基础 9.2 算法基本概念 主要内容 算法的概念 算法的描述方法 程序设计典型算法 算法(algorithm)是对特定问题求解步骤的一种描述,是一组有序的动作。 1.算法的概念 9.2.1 算法的概念 算法无处不在 家具的组装说明 洗衣机使用说明 2.算法的基本特征 算法是一个有穷规则的集合,这些规则确定了解决某类问题的一个运算序列。对于该类问题的任何初始输入,它能机械地一步一步地计算,并在有限歩后产生输出。 算法的基本特征: 有穷性:算法必须在执行有限个操作后终止; 确定性:算法中每一步的含义必须是确切的,不能出现任何二义性; 有效性:算法中的每一步操作都应该能有效执行,一个不可执行的操作是无效的; 有零个或多个输入:执行算法时,从外界获得必要的信息 ; 有一个或多个输出:算法的解就是输出。 算法的性能评价一般从时间复杂度和空间复杂度来衡量。一个算法除了要考虑其正确性,还要考虑算法的效率,通常采用时间复杂度和空间复杂度来衡量算法效率。 时间复杂度的作用是度量算法执行的时间长短;而空间复杂度的作用是度量算法所需存储空间的大小。 3. 算法的性能评价 时间复杂度: 算法所需的时间,随着问题规模变大所需时间增加的程度。 空间复杂度: 算法所需的空间,随着问题规模变大所需空间增加的程度。 算法的时间复杂度: 为便于比较解决同一问题的不同算法,通常以算法中基本操作重复执行的频度作为算法的时间度量标准。 记作:T(n)=O(f(n)) 其中,T(n)是问题规模的函数,O表示数量级。 一般情况下,随着n的增大,T(n)的增长较慢的算法为最优算法。随着规模n增大,算法执行时间的增长率和f(n)的增长率成正比,f(n)越小,算法的时间复杂度越低,算法的效率越高。 算法的空间复杂度: 算法执行时存储空间需求的度量。 S(n)=O(f(n)) 其中n为问题的规模,S(n)表示空间复杂度。 通常只要分析算法在实现时所需的辅助空间单元个数即可。 9.2.2 算法的描述方法 可以用不同的方法表示算法,常用方法有: 自然语言 专用工具 计算机语言 1. 自然语言 自然语言即是使用汉语、英语或其他语言去描述算法。 [例]有50名学生的成绩,要求将他们之中80分以上的成绩打印 出来。设用g代表学生成绩,gi 代表第i个学生成绩。 算法可以表示如下: 1)使i=1 ; 2)如果gi ?80 ,则打印 gi ,否则不打印; 3)使i的值加1 ; 4)如果 i? 50, 返回S2, 继续执行; 否则,算法结束。 特点:描述算法通俗易懂,容易产生歧义。对复杂问题,语句 繁琐、冗长,并且很难清楚地表达算法的逻辑流程,往往需要 根据上下文判别其含义,尤其对描述含有选择、循环结构的算 法,不太方便和直观,一般不常使用。 2.专用工具 1)流程图 美国国家标准化协会ANSI(American National Standard Institute)规定了一些常用的流程图符号 起止框 判断框 处理框 输入/输出框 注释框 流向线 连接点 程序流程图表示: 打印80分以上的学生成绩 开始 1 ? i gi=80 输出gi i+1 ? i i50 结束 成立 不成立 不成立 成立 传统流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制。 程序任意转向的示例: 2)N–S流程图 N—S流程图 由美国学者I.Nassi和B.Shneiderman提出表示算法的图形工具。基本单元是矩形框,用不同的形状线分割,表示三种结构。只有一个入口,一个出口,没有流程线。 N--S图的优点 比文字描述直观、形象、 易于理解;比传统流程图紧凑易画。尤其是它废除了流程线,整个算法结构是由各个基本结构按顺序组成的,N--S流程图中的上下顺序就是执行时的顺序。 程序三种基本结构的N–S流程图 条件 T F 语句1 语句2 选择结构 语句1 语句2 顺序结构 循环结构 循环体 循环体 当条件成立时 直到条件成立 循环结构一 循环结构二 0?t,0?i i+1?i t+i?t 直到 i?100 输出 t 的值 传统流程图与N-S流程图的比较 i?100 N Y 开始 0?t,0?i i+1?i t+i?t 输出 t 的值 结束 例1:1+2+3+……+ 加到100为止 Raptor是一种基于流程图的可视化程序设计开发环境。 使用Raptor的程序和算法,可以直接转换为c++、c#、Java等高级

文档评论(0)

wangyueyue + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档