内容正文:
第2课
递推算法
课件出自公众号:先见一站上岸;小红书:Hisoka
1
理解递推算法的含义和基本思想
掌握顺推算法和逆推算法的基本思路
运用顺推算法和逆推算法的基本思路解决实际学习生活中的问题。
任务卡
课件出自公众号:先见一站上岸;小红书:Hisoka
2
在课后的活动时间里,小红给小蓝出了一道叫做“走棋”的趣味智力题。小红让小蓝站教室门口的原点(0点)上,并从原点出发开始“走棋”。小蓝每一步只能向右走,向左走或向前走,且在走动的过程中身体朝向的方向不变。请问恰好走过2步,且不经过已经走过的点的走路方法一共有多少种?
请你也和小蓝一样,试着画出可能的“走棋”路线。
一
说一说
课件出自公众号:先见一站上岸;小红书:Hisoka
3
为了得到所有可能的行走方案,小蓝将“走棋”的路线画成了示意图的形式。由于小 蓝只能向左走、向前走和向右走,因此,他的第一步有三种可能性,如图所示。
一
说一说
在第一步的基础上,小蓝开始考虑第二步的“走棋”方法。这一次,他除了只能向左走、向右走、向前走之外,还需要考虑什么?
提示:结合枚举算法思考。
课件出自公众号:先见一站上岸;小红书:Hisoka
4
一
说一说
观察枚举算法列出的走棋第二步可能性,你发现了什么?
课件出自公众号:先见一站上岸;小红书:Hisoka
5
一
说一说
当走完第一步的时候,第二步可能有两种选择,也可能有三种选择!
课件出自公众号:先见一站上岸;小红书:Hisoka
6
二
学一学
不难看出,相比于可以直接抽出扑克牌进行枚举的“21点游戏”,小蓝进行的“走棋” 游戏中,他每一步的选择结果,都会影响下一步的“走棋”选择数量,也就是说,小蓝的每一步选择都是环环相扣的。
课件出自公众号:先见一站上岸;小红书:Hisoka
7
需要从已知的初始条件出发,依据某种特定关系,逐次推出所要求的各个中间推 论,最终得到最后结果的方法,被称为递推算法。
从已知条件出发,逐步推导到问题结果 的方法,叫做顺推。
从问题出发,逐步倒推回已知条件的方法,叫做逆推。
什么是递推
课件出自公众号:先见一站上岸;小红书:Hisoka
8
当小蓝走完第二步之后,第三步可能有多少种选择呢?第三步可供小蓝选择的路线 数量,是否和小蓝先前选择的第二步、第一步路线有关呢?和老师、同学交流你的想法。
三
想一想
课件出自公众号:先见一站上岸;小红书:Hisoka
9
你能将递推的算法思维运用到计算机程序的编写里吗?请试着将你的程序结构图画出来。
四
做一做
课件出自公众号:先见一站上岸;小红书:Hisoka
10
不论是顺推还是逆推,递推算法的关键是要找到递推之间的关系。
课件出自公众号:先见一站上岸;小红书:Hisoka
11
春游时,小红和小蓝参观了动物园,看到了许多顽皮可爱的猴子。小蓝发现,猴子采摘了一些桃子开始吃,第一个小时吃了一些,第二个小时吃的数目是第一个小时的一半加一,第三个小时吃的数目是第二个小时的一半加一……直到第十个小时的时候,猴子的桃子只剩下一个桃子了。同学们,你能使用逆推的算法思想,计算出猴子第一个小时吃了多少个桃子?最开始一共摘了多少个桃子?试 一 试!
练一练
课件出自公众号:先见一站上岸;小红书:Hisoka
12
谢谢聆听!
课件出自公众号:先见一站上岸;小红书:Hisoka
13
$$