第四讲算法.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文档。上传文档
查看更多
第四讲 算法 【教学内容】 算法基础 【目的要求】了解掌握算法的定义,算法的表示,算法的结构及常见算法。 【重点与难点】常见算法,计算的限制。 【课时 】 3课时 4.1 算法 4.2 算法的基本元素 4.3 算法的表示 4.4 循环结构和递归结构 4.5 计算的限制 4.1 算 法 算法定义:“算法(Algorithm)是一组明确的、可以执行的步骤的有序集合,它在有限的时间内终止并产生结果”。 算法和数据结构之间存在密切联系。数据结构是算法的基础,数据结构的不同,通常的采用的算法也会不同;当问题的求解算法一旦确定,也可以选择合适的数据结构加以实现,合理的数据结构能够简化算法。 求解两个整数的最大公约数问题的方法如下: (1) 令M为两个整数中的较大者,N为两个整数中的较小者; (2) 用M除以N,令R为M除以N的余数; (3) 若R不等于0,则令M等于N,N等于R,返回步骤(2)继续;若R等于0,则N中的数值就是两个整数的最大公约数。 显然,上述方法满足算法所要求的三点:第一,上述方法的每一个操作步骤都是含义确定的;第二,当两个整数M和N为有限数值时,上述方法可在有限的操作步骤后结束;第三,上述方法的每一个操作步骤都是可以具体执行的。因此,上述方法是一个算法。 但是,下面的方法就不是一个算法: (1) 构造一个包含所有正整数数值的表; (2) 把这个表按从大到小的次序排序。 虽然上述方法的两个操作步骤都满足确定性,但是,步骤(1)要求构造包含所有正整数数值的表,所以不满足有穷性;步骤(2)要求把包含无限个正整数数值的表按从大到小的次序排序,而这样的要求是无法作到的,因此不满足可执行性。所以,上述方法不是一个算法。 算法的特性 (1)可终止性 一个算法必须在有限个操作步骤内以及合理的时间内执行完成。 (2) 确定性 算法中的每一个操作步骤都必须有明确的含义,不允许存在二义性。 (3) 可执行性 算法中描述的操作步骤都是可执行的,并能最终得到确定的结果。 (4) 输入及输出 一个算法应该有零个或多个输入数据、有1个或多个输出数据。 算法的描述 (1) 自然语言表示 自然语言就是人们日常使用的语言,可以是中文、英文等。 例如,求三个数中最大值的问题,可以描述为: ① 比较前两个数; ② 将①中较大的数与第三个数进行比较; ③ 步骤②中较大的数即为所求。 (2) 流程图表示 流程图是用规定的一组图形符号、流程线和文字说明来表示算法的一种表示方法。 (3) 伪码 伪码用一种介于自然语言与计算机语言之间的文字和符号来描述算法。比计算机语言形式灵活,格式紧凑,没有严格的语法。 (4) 程序设计语言形式 算法也可以用某种具体的计算机程序设计语言来表示,如,C、C++、Java等都可以用来描述算法。 1. 变量 可以用一个或几个字符表示。 2. 赋值 在算法中,赋值是实现给变量赋值,或对变量中的数值进行修改的一种操作。我们用符号ASSIGN表示赋值,赋值语句格式为 ASSIGN name value 或 ASSIGN name valueExpression 前一个赋值语句表示把一个具体的数值value赋给符号名字为name的变量。后一个赋值语句表示把一个表达式valueExpression的运算结果(其值为一个确定的数值)赋给符号名字为name的变量。 例如,若定义age为一个变量,就可以用如下赋值语句把数值20存放在变量age中: ASSIGN age 20 又如,当要表示某人的年龄要在原来年龄的基础上加一岁时,就可以用如下赋值语句实现: ASSIGN age age+1 其中,age+1就是一个表达式,当变量age中原来存放的数值是20时,则该表达式的运算结果就是21。该赋值语句执行完后,变量age中的数值就不再是20,而变成了21。 3. 分支 在算法描述中,经常要根据不同的情况进行不同的处理。例如,对于一个分段函数,当自变量x满足某种条件时,函数y=f(x)就取某个数学表达式;当自变量x满足另一种条件时,函数y=f(x)就取另一个数学表达式。算法中的这种结构称作分支结构。 设符号IF、THEN和ELSE是算法中表示分支结构的符号,分支语句的格式为: IF(condition) THEN activityOne ELSE

文档评论(0)

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

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档