笔趣阁 > 科幻小说 > 编程之战 > 章节目录 第三章 万级斐波那契

 推荐阅读: 重生弃少归来 黎明之剑 说好的末世呢 七根凶简 民调局异闻录之勉传 学霸的黑科技系统 无限英灵神座 快穿攻略,病娇男主,宠翻天! 终极透视眼 纵横诸天的武者

编程之战 第三章 万级斐波那契


“啪嗒”,小册子掉落在了桌子上。
    杨成定睛一看,发现自己刚才手写的解题方法旁边多了一个小小的绿色对勾。
    “唉,没啥挑战性啊”,杨成活动了一下筋骨。
    话音刚落,然后,他看到那个小册子自动地翻过了一页,上面又浮现了一些笔迹。
    “依上题,若N大于10000,且小于20000,作何解?”
    杨成念完这新内容,皱了皱眉头。
    “传统的分治法求斐波那契数列,只限于小数求解,到了万级再用一般性的递归,效率低不说,还有可能导致递归栈溢出”。
    “那么如何在原来的代码上做修改,来达到提高性能的目的呢?”
    杨成思索了片刻。
    “既然分治法慢的根本在于重复性的计算太多,那么我可以使用缓存!”,杨成很快想到了解答方法,这得益于他有经常上博客论坛向大牛请教的习惯。
    在JavaScript中,对象常用作为缓存,对于斐波那契数列这样的固定序列,用全局对象来缓存是最好的方法。
    至于具体的逻辑,很好写:假如缓存中没有这一项,那就缓存进去,如果存在,就直接取出来,JavaScript对象本质上是散列表,或者说哈希表,而且这对象的存取效率高的令人发指,几乎可以忽略性能方面的开销了。
    杨成在原本的解答上加了一些代码,用上了缓存的思想。
    “这个题目加深了一些难度啊”,杨成揉了揉太阳穴,看着那小册子再次犹如中了“浮空术”一般晃悠悠地飞向了半空中,开始了不急不慢地翻页。
    四周此时静寂无声,杨成看了看窗外,那高高的塔楼顶端,还有卫兵在守卫。
    这一切的一切都无比地真实。
    他试着把手伸出窗外,却被一种无形的力量阻隔在了屋内,脑海中更是响起一个系统音:“任务中,无法离开指定区域!”
    他看了看四周,都是些寻常人家的东西。
    不过,当他看到了一个小小的架在木炭上面的咖啡壶,一个小小的骨瓷咖啡杯,还有一碗研磨得细细的咖啡粉,顿时来了主意。
    他捣鼓了一小会儿,折腾出了一杯看似咖啡的黑糊糊的东西,杨成看得直皱眉头。
    这玩意儿能喝嘛?
    既没有白糖,又没有牛奶,这东西估计和农药差不多味儿。
    “不管了!”,杨成捏着鼻子,猛地灌了一口。
    事实证明,咖啡的苦味有神效,他一下子恢复了精神,而且无比振奋。
    半空中,小册子的翻页速度越来越快,最后猛地一合拢,“啪嗒”一声又掉落在了桌面上。
    “这下子应该结束了吧”,杨成翻开小册子看了看。
    在他刚才作答的那片区域旁边,又多了一个绿色对勾。
    杨成感觉自己就像刚刚完成作业的小学生,等着老师的批阅。
    这小册子果然没有辜负他的期待,稍等了片刻,一行行笔迹就再次出现在了空白的地方。
    杨成这次终于流露出凝重的表情,这下子不是小改了,是大整改了!

温馨提示:方向键左右(← →)前后翻页,上下(↑ ↓)上下滚用, 回车键:返回列表

上一章章节目录下一章