斐波那契数列的递归实现以及优化
作者:互联网
<?php // 优化前 function fb($len) { if ($len < 3) return 1; return fb($len - 2) + fb($len-1); } // 优化以后 function fb($len) { static $cache = []; if ($len < 3) return 1; if (key_exists($len, $cache)) { return $cache[$len]; } else { $fb = fb($len - 2) + fb($len-1); $cache[$len] = $fb; return $fb; } }
主要原因:在递归调用时出现了大量的重复计算,故可以将单次递归结果保存在一个变量中,每次递归时查询是否存在,存在即返回
标签:存在,数列,递归,斐波,那契,单次 来源: https://www.cnblogs.com/jasonyou/p/13594197.html