数据结构(2) --关于空间使用

简介: 数据结构(2) --关于空间使用

例子:


1dc618a0ed9580ce8bfa6facb208c08f.png

我们实现可以有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);
        }
    }
}


运行发现:

5d4c6812c8535adbb050f4ddf2e1bce8.png

这说明,递归虽然代码显得简洁明了,但是计算机不是很喜欢,数字很大的时候,还没来得及打印,计算机的占用空间就爆了。


同时,这个例子说明:

46a9d80a6e05e4e3b19d57a0ee70bcdf.png



相关文章
|
11月前
|
编译器 C语言 C++
栈区开辟空间的底层逻辑:函数栈帧的创建和销毁
栈区开辟空间的底层逻辑:函数栈帧的创建和销毁
97 0
|
存储 Python
递归栈空间
递归栈空间(Recursion Stack Space)是在计算机程序中用于存储和跟踪递归调用的内存空间。递归是一种在函数或方法中调用自身的技术,通常用于解决需要重复执行相同或类似操作的问题。递归栈空间用于存储递归调用的信息,包括函数的参数、局部变量和返回地址等。 使用递归栈空间的一般步骤如下:
119 0
|
算法
数据结构与算法1.1关于数据结构、空间使用、算法效率、抽象数据类型
数据结构与算法1.1关于数据结构、空间使用、算法效率、抽象数据类型
60 0
|
5月前
|
存储 算法
数据结构学习记录——图应用实例-六度空间(题目描述、算法思路、伪代码及解读、图解)
数据结构学习记录——图应用实例-六度空间(题目描述、算法思路、伪代码及解读、图解)
57 0
|
11月前
|
存储 算法 编译器
环境栈空间
环境栈空间(Environment Stack Space)是计算机系统中用于存储和管理程序运行环境的一种数据结构。环境栈空间是一种后进先出(Last In First Out, LIFO)的数据结构,类似于栈。它用于存储和管理程序在执行过程中所需的各种环境信息,如局部变量、函数调用、动态链接库(DLL)加载等。环境栈空间可以确保程序在执行过程中的环境信息得到正确的维护和管理,从而保证程序的正确运行。
50 1
|
机器学习/深度学习 算法 搜索推荐
数据结构(2.1)——时间复杂度和空间复杂度计算
数据结构(2.1)——时间复杂度和空间复杂度计算
120 0
|
存储 算法
数据结构之单链表一生的历程(创建一个线性表,动态分布空间,单链表创建的思路,单链表的增、删、改、毁)
数据结构之单链表一生的历程(创建一个线性表,动态分布空间,单链表创建的思路,单链表的增、删、改、毁)
|
机器学习/深度学习 算法 C语言
时间复杂度和空间复杂度计算(数据结构C语言实现1)
时间复杂度和空间复杂度计算(数据结构C语言实现1)
408 2
时间复杂度和空间复杂度计算(数据结构C语言实现1)
|
算法
<时间复杂度和空间复杂度计算>《数据结构(C语言版)》
<时间复杂度和空间复杂度计算>《数据结构(C语言版)》
133 0
<时间复杂度和空间复杂度计算>《数据结构(C语言版)》

热门文章

最新文章