关于前端:什么是空间复杂度

37次阅读

共计 429 个字符,预计需要花费 2 分钟才能阅读完成。

空间复杂度

什么是空间复杂度?

算法在运行过程中长期占用存储空间大小的度量,和工夫复杂度示意一样,一个函数,用大 O 示意,例如 O (1)、O (n)、O (^2)…


根底案例

O(1)

这段代码因为只申明了单个变量,单个变量所占用的内存永远是 1。

    let i = 0

    i += 1
O(n)

这段代码次要申明了变量 list 和变量 i,然而变量 list 的元素个数会受 n 的影响,所以工夫复杂度是 O (n) 而变量 i 的工夫复杂度 O (1) 两个相加时可忽略不计。

    const list = []

    for (let i = 0; i < n; i++) {list.push(i)
    }
O(n ^ 2)

咱们平时用的栅格布局(一行外面包含多少列)其实也能够用矩阵来示意。这段代码次要申明了 matrix 变量,是一个数组,因为是嵌套循环,所以数组的元素个数为 n * n 为 n ^ 2。

    const matrix = []

    for (let i = 0; i < n; i++) {matrix.push([])

        for (let j = 0; j < n; j++) {matrix[i].push(j)
        }
}

正文完
 0