算法时间复杂度

参考视频:https://www.bilibili.com/video/BV14j411f7DJ

目录

1.常数阶O(1)

2.对数阶O(IogN)

3.线性阶O(n)

4.线性对数阶O(nlogN)

5.平方阶O(n^2)

6.立方阶O(n^3)

7.K次方阶O(n^k)

8.指数阶(2^n)

9.阶乘O(n!)


两层for循环        

for (int i = 1; i <= n; i++){
    for (int j = 1; j <=n; j++){
        ×++;
    }
}

O(n^{2})

for (int i = 1; i<= n; i++){
    x++;
}
for (int i = 1; i <= n; i++){
    for (int j = 1; j <=n; j++){
        ×++;
    }
}

O(n^{2}+n)=O(n^{2})

1.常数阶O(1)

int x = O;
int y = 1;
int temp = x;
x=y;
y = temp;

2.对数阶O(IogN)

int i= 1;
while(i< n){
    i = i * 2;
}

循环次数k

2^k=n

k=logn

3.线性阶O(n)

for (int i = 1; i<= n; i++){
    x++;
}

4.线性对数阶O(nlogN)

for(int i= O; i <= n; i++){
    int x = 1;
    while(x < n){
        × = x * 2;
    }
}

5.平方阶O(n^2)

for (int i = 1; i <= n; i++){
    for (int j = 1; j <=m; j++){
        ×++;
    }
}

// O(n*m)

6.立方阶O(n^3)

for (int i = 1; i <= n; i++){
    for (int j = 1; j <=n; j++){
        for (int k = 1; k <=n; k++){
            ×++;
        }
    }
}

7.K次方阶O(n^k)

8.指数阶(2^n)

9.阶乘O(n!)

常见算法逻辑的时间复杂度:

(1)单个语句,或程序无循环和复杂函数调用:O(1)。

(2)单层循环:O(n);双层嵌套循环:O(n2);三层嵌套循环:O(n3)。

(3)树形结构、二分法、构建堆过程:O(log2n)。

(4)堆排序、归并排序:O(nlog2n)。

(5)所有不同可能的排列组合:O(2n)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Catherinemin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值