递归 VS 迭代

很明显,用递归写出来的代码十分的简洁,然而递归却有一个致命的缺陷,那就是它的时间复杂度是N的指数级,并且会消耗大量的内存,使用不当还会导致爆栈. 比如: int func(int n){ if(n<=2) return n; int x = func(n-1) + f(n-2); return x; } 如果将递归换成迭代呢? int func(int n) { if (n <= 2) return n; int x = 1, y = 2, … “递归 VS 迭代”

Read More