递归树为 时间复杂度为O(2的n次方)
剪枝操作(优化) 时间复杂度为O(n)
消除冗余计算
实际就是
代码实现
上面的优化,是从F(20)到F(1)和F(0),算出F(1)和F(0)在反推回去算出F(20)
有两个过程,自顶向下和自底向上!
再次优化,消除自顶向下
只有自底向上
可以再次优化,优化空间复杂度
问题
暴力法:
优化-备忘录
再次优化
总结
递归树为 时间复杂度为O(2的n次方)
剪枝操作(优化) 时间复杂度为O(n)
消除冗余计算
实际就是
代码实现
上面的优化,是从F(20)到F(1)和F(0),算出F(1)和F(0)在反推回去算出F(20)
有两个过程,自顶向下和自底向上!
再次优化,消除自顶向下
只有自底向上
可以再次优化,优化空间复杂度
问题
暴力法:
优化-备忘录
再次优化
总结