void函数也可以使用return 直接return;即可回到调用函数。
递归recursion
电影院问前面的哥们 你在第几排,问到第一排时,逐步回归。
不停调用自身
汉诺塔用递归非常合适。
求斐波那契数列 递归会重复计算同一值
什么时候可以使用递归?
1.可以将大问题,拆分为若干个小问题,且大问题和小问题的求解过程一致。
2.可以将小问题的解合并成大问题的解
使用递归时,需要注意什么问题?
如果会造成重复计算,则不要使用。
避免出现栈溢出stackoverflow问题。(边界条件错误或问题规模太大)
如何写递归?
1.先写边界条件
2.写递归公式
迭代
用a.b分别存储前俩值 满足条件则算出新值,a=b,b=新值,再去循环计算。
动态规划
把每次算出来的 新值存入数组中,用空间换时间,效率比迭代高