前言 |
在这学期(大三上)去“蹭”了一次校招面试题,编程题中就有一道关于斐波那契数列的编程问题。如果不选择递归求解,就需要说明原因。当时还没怎么接触算法这方面的知识(笔者非科班),关于什么运行时间分析、空间复杂度分析的就是一脸懵逼,于是就描述了下可能会引发栈溢出的问题。在慢慢学习了一些算法基础之后,才明白那道题想考的就是关于运行时间的分析!
什么都别说,先“走”两步 |
下面是使用递归计算斐波那契数列第n项的例程:
long fib(int n) {
if (n <= 1) {
return 1;
} else {
return fib(n -