返回第二百一七章 记忆化(第1/1页)  编程之战首页

关灯 护眼     字体:

上一章 目录 下一章

    听到经理的问题,杨成没有急于作答。

    他回想起以前刚来到代码战争时做的第一个任务。

    求解斐波那契数列的第n项。

    当时他是如何对分治法做优化的呢?

    “使用缓存,或者说是记忆化!”

    杨成顿时脱口而出。

    函数每次调用时,可以将先前的操作结果记录在某个对象里面,从而避免无谓的重复运算。这种优化被称作“记忆化”。

    在这个问题,如果给递归算法使用了这种技术。

    当在递归执行第一次,遇到一个子问题时,就计算它的解,并且记忆在对象中。

    以后再遇到重复的子问题,无须再计算,直接读取对象中的记忆。

    这样就能大大地减少运算量!

    带着这样的思路,杨成开始优化已有的程序。

    很快,经理便看到了一个全新版的算法。

    他看到一行行测试用例通过。

    “小伙子不错!”

    经理拍拍他的肩膀。

    “对已有的代码做改动,记忆化是可行的”。

    “你还可以尝试一下动态规划的思路,它无须递归的代价,所以理论上效率会更高”。飘天文学_www.piaotiange.com

『加入书签,方便阅读』

上一章 目录 下一章