计算机算法分析与设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

计算机算法分析与设计第1页,共33页,星期日,2025年,2月5日学习目标掌握算法分析与设计的基本理论掌握进行算法分析与设计的基本方法(时间、空间复杂度分析,算法正确性的证明)掌握计算机领域中常用的非数值计算方法,并学会用这些算法解决实际问题第2页,共33页,星期日,2025年,2月5日课程要求教学方式:理论(32学时),实践(16学时)考核方式:考试(80%)+实验作业(20%)课程学分:3先修课程:《离散数学》《数据结构》《数值分析》《C语言程序设计》第3页,共33页,星期日,2025年,2月5日授课教材选用教材:《计算机算法基础》(第二版)余祥宣,崔国华,邹海明华中科技大学出版社参考书目:《算法引论》张益新,沈雁国防科技大学出版社《算法设计与分析》周培德机械工业出版社第4页,共33页,星期日,2025年,2月5日第一章导引---计算机算法分析与设计是面向设计的、处于核心地位的教育课程---计算机算法是计算机科学和计算机应用的核心。1.什么是算法?2.如何分析算法?3.如何表示算法?4.基本数据结构第5页,共33页,星期日,2025年,2月5日1.什么是算法算法数值计算方法(求解数值问题,插值计算、数值积分等)非数值计算方法(求解非数值问题,主要进行判断比较)算法笼统的定义:求解一确定类问题的任意一种特殊方法。非形式描述:算法就是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算。第6页,共33页,星期日,2025年,2月5日例1求两个正整数m,n的最大公因子算法1-1欧几里得算法输入:正整数m和n输出:m和n的最大公因子第一步:求余数。r?m%n第二步:判断r=0?,若是,终止(n为答案),否则,转第三步。第三步:互换,m?n,n?r,返回第一步。BeginR?m%nr=0?Swap(m.n)EndNY第7页,共33页,星期日,2025年,2月5日例1求两个正整数最大公因子的一个实例假设m=21和n=45,求21和45的最大公因子第一步:r=m%n=21%45=21;第二步:r不等于0,转入第三步;第三步:互换,m=n=45,n=r=21,返回第一步。第一步:r=m%n=45%21=3;第二步:r不等于0,转入第三步;第三步:互换,m=n=21,n=r=3,返回第一步。第一步:r=m%n=21%3=0;第二步:r等于0,算法结束,3即为21和45的最大公因子。第8页,共33页,星期日,2025年,2月5日算法的五个重要特性确定性每一种运算必须要有确切的定义,无二义性可行性运算都是基本运算,原理上能在有限时间内完成输入有 1个或多个输入输出一个或多个输出有穷性在执行了有穷步运算后终止第9页,共33页,星期日,2025年,2月5日算法的特性凡是算法,都必须满足以上五条特性。只满足前四条特性的一组规则不能称之为算法,只能叫做计算过程。操作系统就是计算过程的一个典型例子。设计操作系统的目的是为了控制作业的运行,当没有作业时,这一计算过程并不终止,而是处于等待状态,一直等到一个新的作业的进入。第10页,共33页,星期日,2025年,2月5日算法学习的五个内容如何设计算法运用一些基本设计策略规划算法如何表示算法用恰当的方式表示算法如何确认算法算法正确性的证明(算法确认algorithmvalidation)如何分析算法通过时间和空间复杂度的分析,确定算法的优劣如何测试程序测试程序是否会产生错误的结果第11页,共33页,星期日,2025年,2月5日2.如何分析算法算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。算法分析步骤:首先确定使用那些运算以及执行这些运算所用的时间。(运算包括基本数值运算和一些更基本的任意长序列的运算)其次是要确定出能反映算法在各种情况下工作的数据集。(即要求我们编造出能产生最好、最坏和有代表性情况的数据配置,通过使用这些数据来运行算法,以更了解算法的性能)第12页,共33页,星期日,2025年,2月5日全面分析一个算法的两个阶段事前分析(apriorianalysis)求出该算法的一个时间限界函数(一些关于参数的函数)事前分析只限于每条语句的频率计数(frequencycount,该语句的执行次数,与所用的机器无关,且独立于程序设计语言,可由算法直接确定)事后测试(aposterioritesting)收集此算法的实际执行时间和占用空间的统计资料第13页,共33页,星期日,2025年,2月5日例3:频率计数

文档评论(0)

xiaoyao2022 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档