递归算法
展开全部
1.一个函数调用其自身,就是递归
2.递归和普通函数调用一样是通过栈实现的
3.树与二叉树适合使用递归的形式来表述
4.算法分为基础步和归纳步
递归算法是将归纳法的思想应用于算法设计之中,递归算法充分地利用了计算机系统内部机能,自动实现调用过程中对于相关且必要地信息的保存与回复
(1)问题的描述涉及规模
(2)问题的规模发生变化后,解决问题的方法完全相同,并且原问题的解由小规模问题的解构成
(3)小规模的问题是可以求解的(在有限步内可以停机)
输入:n
输出:n!
输入:盘子的个数n、柱子的名称a,b,c
输出:移动方案
输入:位数n
输出:斐波那契数列第n位的值
有n阶楼梯,每次只能下一个或者两个,计算一共有多少种下楼方法
算法思想:
1.将n个数均分为s1和s2
2.分别求解s1和s2的最大值和最小值
s1最大值为max1,s1最小值为min1
s2最大值为max2,s2最小值为min2
3.计算min(min1,min2),max(max1,max2)
2.递归和普通函数调用一样是通过栈实现的
3.树与二叉树适合使用递归的形式来表述
4.算法分为基础步和归纳步
递归算法是将归纳法的思想应用于算法设计之中,递归算法充分地利用了计算机系统内部机能,自动实现调用过程中对于相关且必要地信息的保存与回复
(1)问题的描述涉及规模
(2)问题的规模发生变化后,解决问题的方法完全相同,并且原问题的解由小规模问题的解构成
(3)小规模的问题是可以求解的(在有限步内可以停机)
输入:n
输出:n!
输入:盘子的个数n、柱子的名称a,b,c
输出:移动方案
输入:位数n
输出:斐波那契数列第n位的值
有n阶楼梯,每次只能下一个或者两个,计算一共有多少种下楼方法
算法思想:
1.将n个数均分为s1和s2
2.分别求解s1和s2的最大值和最小值
s1最大值为max1,s1最小值为min1
s2最大值为max2,s2最小值为min2
3.计算min(min1,min2),max(max1,max2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询