- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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等高级
您可能关注的文档
- 国际贸易单一窗口建设工作介绍.pdf
- 黄土高原土壤侵蚀垂直分带性研究-水土保持研究.pdf
- 移动环境下lbs位置隐私保护protectinglocation-电子与信息学报.pdf
- 离散数学试题一-read.doc
- 复杂外形的非结构四面体网格生成算法-空气动力学学报.pdf
- 线性流形上广义反自反矩阵反问题的最小二乘解.pdf
- 矿井通风网络的最小能量原.pdf
- 学年第学期学生社团自治干部座谈会会议纪录-嘉义大学.doc
- 食品安全分析样品前处理-快速检测联用方法研究进展-色谱世界.pdf
- 商业名称商业名称概述商业名称的概念和特征商业.ppt
- 2024-2025学年高中英语牛津译林版选修七教学设计合集.docx
- 2025年纺织服装行业智能化生产智能化生产设备市场发展策略报告.docx
- 夹具通用件压紧件 锥面压块.pdf
- 全球智能手机行业市场份额与品牌竞争格局分析报告(2025年).docx
- 智能物流配送路径优化2025年对物流企业竞争力影响评估报告.docx
- 全球智能手机行业市场规模、份额及市场份额占比变化预测报告.docx
- 文旅地产融合模式创新与项目开发要点剖析:2025年行业洞察.docx
- 智能家居系统集成项目2025年智能家居产业区域布局报告.docx
- 全球智能手机行业市场规模与份额2025年预测:技术驱动下的市场分布报告.docx
- 2025年农村文化礼堂建设与乡村社区文化治理研究报告.docx
文档评论(0)