若计算斐波那契数列。
1、直接递归
2、递归,动态规划
可以看到的是递归中大量重复计算相同的内容,因此采用动态规划来降低时间复杂度。而由于斐波那契数列当前项是前两项的和的值,因此需要在在递归时保留当前项和前一项的值,因此仅通过return返回一个值是不够的,可以看到这里使用取地址传值的方法,通过return获得前一项的值和通过取地址传值获得前前项的值,而不是传递一个数组,非常巧妙。
3、一般的循环方法。
就是将动态规划的循环方法,和动态规划的递归方法一样,这个就比较简单。
若计算斐波那契数列。
1、直接递归
2、递归,动态规划
可以看到的是递归中大量重复计算相同的内容,因此采用动态规划来降低时间复杂度。而由于斐波那契数列当前项是前两项的和的值,因此需要在在递归时保留当前项和前一项的值,因此仅通过return返回一个值是不够的,可以看到这里使用取地址传值的方法,通过return获得前一项的值和通过取地址传值获得前前项的值,而不是传递一个数组,非常巧妙。
3、一般的循环方法。
就是将动态规划的循环方法,和动态规划的递归方法一样,这个就比较简单。