前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >空间复杂度

空间复杂度

原创
作者头像
菜园前端
发布2023-06-08 22:38:49
1250
发布2023-06-08 22:38:49
举报
文章被收录于专栏:前端学习文档前端学习文档

什么是空间复杂度?

算法在运行过程中临时占用存储空间大小的度量,和时间复杂度表示一样,一个函数,用大 O 表示,例如 O (1)、O (n)、O (^2 )...

基础案例

O(1)

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

javascript

代码语言:javascript
复制
let i = 0

i += 1

O(n)

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

javascript

代码语言:javascript
复制
const list = []

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

O(n ^ 2)

我们平时用的栅格布局(一行里面包括多少列)其实也可以用矩阵来表示。这段代码主要声明了 matrix 变量,是一个数组,因为是嵌套循环,所以数组的元素个数为 n * n 为 n ^ 2。

javascript

代码语言:javascript
复制
const matrix = []

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础案例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档