内容正文:
五上U3 生活中常见的算法思想
X老师
3-3棋子移动中的递推
3-1奖品购买中的枚举
3-2棋盘覆盖中的分治
3-3棋子移动中的递推
3-4信息安全中的加密
目
录
CONTENTS
01
什么是递推算法
斐波那契数列算法
02
任务驱动
在迎新年活动中,除了棋盘覆盖游戏,还有移棋子游戏。
讨论:谈一谈在棋盘移动游戏中蕴藏着什么算法思想呢?
Part One
01
什么是递推算法
棋子移动游戏
游戏规则:
1.每次必须同时移动相邻的2枚棋子到空位上,颜色不限;
2.可以左移或右移,但不能调换两枚棋子的左右顺序;
3.每次移动必须跳过至少1枚棋子(即不能平移)。
当棋子排列成黑白相间(首枚棋子为白色)的一行时,游戏结束。
移动过程
8枚棋子移动游戏
初始状态
第一步
第二步
第三步
第四步
第五步
1 2 3 4 5 6 7 8 9 10
当只有8枚棋子时,只需要5步就可以完成黑白相间游戏效果
如果10枚棋子呢?
将10枚棋子看成8枚的棋子和2枚棋子
10枚棋子移动游戏
1 2 3 4 5 6 7 8 9 10 11 12
初始状态
第一步
第二步
如果12枚棋子呢?
将12枚棋子看成10枚的棋子和2枚棋子
12枚棋子移动游戏
1 2 3 4 5 6 7 8 9 10 11 12 13 14
初始状态
第一步
第二步
如果14枚棋子呢?
将14枚棋子看成12枚的棋子和2枚棋子
14枚棋子移动游戏
1 2 3 4 5 6 7 8 9 10 11 12 13 14
初始状态
第一步
第二步
不同棋子数的移动方法
棋子数 第一步 第二步 第三步
10枚 5,6→最右 9,10→5,6 8枚棋子移动方法
12枚 →最右
14枚 →最右
6,7
7,8
11,12→6,7
13,14→7,8
10枚棋子移动方法
12枚棋子移动方法
已知条件
通过重复运算步骤描述复杂问题的计算方法
递推算法
递推算法
顺推
逆推
问题
Part Two
02
斐波那契数列算法
斐波那契数列算法思想
在生活中,有很多有趣的数列,如数列1,1,2,3,5,8,13,21,34,55,…,就是数学家莱昂纳多·斐波那契在研究兔子繁殖问题时发现的,我们称之为斐波那契数列。
与常规逐一比较排序的方法相比,运用分治算法思想可以有效提高排序速度,数据量越大,效果越明显。
用递推算法可以生成斐波那契数列,尝试找出其规律并完善以下算法。
斐波那契数列算法思想
补充流程图
达到项数
将S1赋值为S2
将S2赋值为S3
递推的过程
小蚂蚁爬楼梯,每次只能爬1级或2级,问爬5级有几种方法?
斐波那契数列算法思想
递推过程:
1级:1种(直接爬1级)
2级:2种(1+1 或 2)
3级:3种(1+1+1、1+2、2+1)
4级:5种(1+1+1+1、1+1+2、1+2+1、2+1+1、2+2)
5级:8种(1+1+1+1+1、1+1+1+2、1+1+2+1、1+2+1+1、2+1+1+1、1+2+2、2+1+2、2+2+1)
规律:每一级的爬法数 = 前一级 + 前前一级(斐波那契数列)。
1
2
3
4
5
神奇的斐波那契数列
根据斐波那契数列画出来的螺旋线称为斐波那契螺旋线,它是一种特殊的几何图形。其作图规则是:以斐波那契数为边长的正方形拼成一个长方形,然后在每个正方形中画一个圆心角为90°的圆弧,将相邻圆弧连接起来就形成了斐波那契螺旋线。
斐波那契螺旋线常见于摄影构图、建筑设计中。自然界中也有许多类似的例子,如向日葵种子的排列、鹦鹉螺壳的纹路等,这些天然的“黄金螺旋”被视为大自然的完美“设计”。
斐波那契螺旋线
X老师
希望本节课有所收获
五上U3 生活中常见的算法思想
Lavf58.46.101
$