关于空间使用
- 例子:
例子:
我们实现可以有2种方法:
public class Demo1 {
public static void main(String[] args) {
int n = 1000;
long startTime = System.currentTimeMillis();
System.out.println(startTime);
getN1(n);
long endTime = System.currentTimeMillis();
System.out.println(startTime);
System.out.println(endTime - startTime);
System.out.println("------");
long startTime2 = System.currentTimeMillis();
System.out.println("startTime2=="+startTime2);
getN2(n);
long endTime2 = System.currentTimeMillis();
System.out.println(endTime2);
System.out.println(endTime2 - startTime2);
}
//方式1: 循环方式打印
private static void getN1(int n) {
for (int i=1;i<=n; i++){
System.out.println(i);
}
}
//方式2: 递归
private static void getN2(int n){
if(n > 0){
getN2(n -1);
System.out.println(n);
}
}
}
运行发现:
这说明,递归虽然代码显得简洁明了,但是计算机不是很喜欢,数字很大的时候,还没来得及打印,计算机的占用空间就爆了。
同时,这个例子说明:
完