第二百一七章 记忆化


小说:编程之战   作者:程序小猿   类别:未来世界   加入书签   【章节错误/点此举报】   【更新慢了/点此举报
推荐阅读: 永恒剑主 | 星光灿烂 | 巨星夫妻 | 弑天刃 | 九重神格 | 超警美利坚 | 步步惊唐 | 绝世天君 | 都市幻界 | 异度
笔趣阁 //www.boquge.com/book/105094/ 为您提供编程之战全文阅读!注册本站用户,获取免费书架,追书更方便!
  听到经理的问题,杨成没有急于作答。
  他回想起以前刚来到代码战争时做的第一个任务。
  求解斐波那契数列的第N项。
  当时他是如何对分治法做优化的呢?
  “使用缓存,或者说是记忆化!”
  杨成顿时脱口而出。
  函数每次调用时,可以将先前的操作结果记录在某个对象里面,从而避免无谓的重复运算。这种优化被称作“记忆化”。
  在这个问题,如果给递归算法使用了这种技术。
  当在递归执行第一次,遇到一个子问题时,就计算它的解,并且记忆在对象中。
  以后再遇到重复的子问题,无须再计算,直接读取对象中的记忆。
  这样就能大大地减少运算量!
  带着这样的思路,杨成开始优化已有的程序。
  很快,经理便看到了一个全新版的算法。
  他看到一行行测试用例通过。
  “小伙子不错!”
  经理拍拍他的肩膀。
  “对已有的代码做改动,记忆化是可行的”。
  “你还可以尝试一下动态规划的思路,它无须递归的代价,所以理论上效率会更高”。