第三章 万级斐波那契

编程之战 程序小猿 590 字 2024-05-17

“啪嗒”,小册子掉落在了桌子上。

杨成定睛一看,发现自己刚才手写的解题方法旁边多了一个小小的绿色对勾。

“唉,没啥挑战性啊”,杨成活动了一下筋骨。

话音刚落,然后,他看到那个小册子自动地翻过了一页,上面又浮现了一些笔迹。

“依上题,若n大于10000,且小于20000,作何解?”

杨成念完这新内容,皱了皱眉头。

“传统的分治法求斐波那契数列,只限于小数求解,到了万级再用一般性的递归,效率低不说,还有可能导致递归栈溢出”。

“那么如何在原来的代码上做修改,来达到提高性能的目的呢?”

杨成思索了片刻。

“既然分治法慢的根本在于重复性的计算太多,那么我可以使用缓存!”,杨成很快想到了解答方法,这得益于他有经常上博客论坛向大牛请教的习惯。

在javascript中,对象常用作为缓存,对于斐波那契数列这样的固定序列,用全局对象来缓存是最好的方法。