时间复杂度空间复杂度

Posted 沿着路走到底

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间复杂度空间复杂度相关的知识,希望对你有一定的参考价值。

时间复杂度

定性描述该算法的运行时间

O(1)、O(n)、O(LogN)……

O(1)

let i = 0
i += 1

每次执行该代码时,这二行代码永远只会执行一次。

O(n)

for(let i = 0; i < n; i++) 
    console.log(i)

循环内的代码被执行了 n 次

O(1) + O(n) = O(n)

let i = 0
i += 1
for(let i = 0; i < n; i++) 
    console.log(i)

O(n) * O(n) = O(n^2)

for(let i = 0; i < n; i++) 
    for(let j = 0; i < n; i++) 
        console.log(i, j)
    

O(LogN)

let i = 1

while(i < n) 
    console.log(o)
    i *= 2

LogN默认以2为底,求 2 的多少次方为 N

空间复杂度

算法在运行过程中,临时占用存储空间大小的度量

O(1)

let i = 0
i += 1

只声明了一个变量,单个变量在内存中占用的是1

O(n)

const list = []
for(let i = 0; i < n; i++) 
    list.push(i)

 O(n^2)

const list = []

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

1

以上是关于时间复杂度空间复杂度的主要内容,如果未能解决你的问题,请参考以下文章

时间复杂度和空间复杂度

LeetCode 241 的时间和空间复杂度是多少。添加括号的不同方法?

FP-Growth 算法的时间和空间复杂度是多少?

这段代码的时间和空间复杂度是多少?

python排序的空间复杂度是多少?

基数树的空间复杂度是多少?