吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1459|回复: 3
收起左侧

[Java 转载] 常见的时间复杂度

[复制链接]
逸帅 发表于 2021-3-18 22:50
本帖最后由 逸帅 于 2021-3-18 23:00 编辑

常见的时间复杂度

1) 常数阶 O(1)

2) 对数阶 O(log2n)

3) 线性阶 O(n)

4) 线性对数阶 O(nlog2n)

5) 平方阶 O(n^2)

6) 立方阶 O(n^3)

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

8) 指数阶 O(2^n)

1、时间复杂度排序:

​        常见的算法时间复杂度由小到大依次为:Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n2)<Ο(n3)< Ο(nk) < Ο(2n) ,随着问题规模 n 的不断增大,上述时间复杂度不断增大,算法的执行效率越低

2、介绍

(1)常数阶O(1)

​        无论代码执行了多少行,只要是没有循环等复杂结构,那这个代码的时间复杂度就都是O(1)

image-20210318224112216.png
代码在执行的时 候,它消耗的时候并不随着某个变量的增长而增长,那么无论这类代码有多长,即使有几万几十万行,都可以用O(1)来表示它的时间复杂度。

(2) 对数阶 O(log2n)

image-20210318224212566.png

(3) 线性阶 O(n)

image-20210318224235391.png

(4) 线性对数阶 O(nlogN)

image-20210318224253933.png

(5) 平方阶 O(n2)

image-20210318224316522.png

(6) 立方阶 O(n3)、K 次方阶 O(n^k)

​                三层n循环,K层N循环

3、平均时间复杂度和最坏时间复杂度

image-20210318225833424.png

下次再被人问到你写的代码时间复杂度是多少,可一定要会哦~

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
Da橙子 + 1 + 1 非常感谢,帮助很大
joneqm + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Kingmxp 发表于 2021-3-18 23:00
学习了 谢谢
Jerryzhang2021 发表于 2021-3-19 09:08
朮小凯 发表于 2021-3-19 11:19
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 19:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表