- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
课时2迭代与递归
课时目标
1.通过实例分析,理解迭代和递归算法的基本思想,掌握利用迭代和递归算法解决问题的基本方法。2.能正确分析递归公式和递归结束条件,灵活使用迭代和递归算法解决实际问题,提升学生的计算思维。
1.迭代算法的概念
不断用变量的____________递推出__________的过程称为迭代算法。
2.利用迭代算法解决问题,需要考虑的三个方面
(1)确定____________。
(2)建立____________。
(3)控制____________。
迭代算法的难点在于寻找和建立正确的迭代公式,一般使用循环结构语句实现。3.递归算法的概念
一个函数在其定义中______________________来解决问题的方法称为递归算法。
递归算法的实质是:将规模大的问题分解成规模小的问题,然后从这些小问题的解中构造出大问题的解,并且这些规模较小的问题也能采用________的分解和综合方法。当递归到达某个________,如问题规模缩减为0或1时,能直接得解。
4.设计递归算法时,需要满足的两个条件
(1)确定____________。
(2)确定递归的__________(或称为边界条件)。
5.递归过程的两个阶段
(1)________:把较复杂的问题的求解递推到一些简单问题的求解。
(2)________:当获得最简单问题的解后,逐级返回依次得到稍复杂问题的解。
正确区分迭代算法和递归算法
(1)迭代是利用变量的旧值推算出变量的一个新值;而递归算法是指一个函数在其定义中直接或间接调用自身的一种方法,它通常把一个复杂的问题转化为一个与原问题相似的规模较小的问题来解决,可以极大地减少代码量,降低编程的难度。因此,迭代算法效率较高,而递归算法比较占用空间,程序运行效率较低。
(2)递归是自己调用自己,而迭代就是不断地调用赋值语句;递归中一定有迭代,但是迭代中不一定有递归,大部分情况下递归和迭代可以相互转换。
例1让计算机重复执行一组指令(或一些步骤),这组指令(或这些步骤)每执行一次时,都会将变量从原值递推出一个新值的算法是()
A.递推算法 B.递归算法 C.迭代算法 D.查找算法
听课笔记:
变式训练利用迭代算法处理问题时,其中从变量的前一个值推出其下一个值的公式的过程称为()
A.确定迭代变量 B.设定迭代结束条件
C.控制迭代过程 D.建立迭代关系式
例2丑数是指不能被2、3、5以外的质数整除的数。判断丑数的自定义函数程序如下:
defugly(n):
foriin[2,3,5]:
eq\x(\a\al(whilen%i==0:,n=n∥i))
returnn==1
若调用执行自定义函数ugly(30),下列说法正确的是()
A.函数返回值为False
B.方框处程序应用了迭代算法
C.该程序的时间复杂度为O(n2)
D.条件语句n%i==0执行了3次
听课笔记:
变式训练小明设计了一个算法求2n的值,算法思想是:先把2n转换为2*2n-1,而2n-1又可以转换为2*2n-1-1,如此继续,直到2*20,已知20=1,再反过来,又依次求出21,22,…,直到求出了2n的值。小明求2n的值所采用的算法是()
A.迭代算法 B.枚举算法 C.递归算法 D.解析算法
若在自定义函数中又出现调用自定义函数本身,则程序使用的是递归算法。而迭代算法是指迭代变量通过迭代关系,由旧值不断推出新值,从而求出问题的解。
例3定义如下函数:
defrf(n):
ifn3:
returnn
returnrf(n-1)+rf(n-3)
执行语句v=rf(5),函数rf被调用的次数是()
A.11 B.5 C.7 D.15
听课笔记:
变式训练下列Python程序的功能是使用递归算法求ans的值。
deffx(n):
ifn==0:
return1
else:
returnn*fx(n-1)
x=int(input(″pleaseinputx:″))
ans=fx(x)
print(ans)
程序执行时,输入x的值为
您可能关注的文档
- 高中信息技术浙教版(2019)选修1 第六章 课时2 POI数据的组织与应用 课件.pptx
- 高中信息技术浙教版(2019)选修1 第三章 课时1 字符串 课件.pptx
- 高中信息技术浙教版(2019)选修1 第三章 课时2 队列 课件.pptx
- 高中信息技术浙教版(2019)选修1 第三章 课时3 栈 课件.pptx
- 高中信息技术浙教版(2019)选修1 第四章 课时1 树与二叉树 课件.pptx
- 高中信息技术浙教版(2019)选修1 第四章 课时2 二叉树的基本操作 课件.pptx
- 高中信息技术浙教版(2019)选修1 第四章 课时3 抽象数据类型 课件.pptx
- 高中信息技术浙教版(2019)选修1 第四章 验收卷(三) 树 课件.pptx
- 高中信息技术浙教版(2019)选修1 第五章 课时1 数据结构与算法关系 课件.pptx
- 高中信息技术浙教版(2019)选修1 第五章 课时2 迭代与递归 课件.pptx
- 高中信息技术浙教版(2019)选修1 第五章 课时3 数据排序 学案(含答案).docx
- 高中信息技术浙教版(2019)选修1 第五章 课时4 顺序查找 学案(含答案).docx
- 高中信息技术浙教版(2019)选修1 第五章 课时5 二分查找 学案(含答案).docx
- 高中信息技术浙教版(2019)选修1 第一章 课时2 数据的组织 学案(含答案).docx
- 高中信息技术浙教版(2019)选修1 验收卷(二) 字符串、队列和栈 学案.docx
- 高中信息技术浙教版(2019)选修1 验收卷(六) 综合练习(B) 试卷.docx
- 高中信息技术浙教版(2019)选修1 验收卷(三) 树 学案.docx
- 高中信息技术浙教版(2019)选修1 验收卷(四) 数据结构与算法.docx
- 高中信息技术浙教版(2019)选修1 验收卷(五) 综合练习(A).docx
- 高中信息技术浙教版(2019)选修1 验收卷(一) 数组与链表.docx
文档评论(0)