首页 > 其他分享 >时间复杂度O(1) O(n)表示什么

时间复杂度O(1) O(n)表示什么

时间:2023-02-23 09:59:09浏览次数:27  
标签:表示 复杂度 算法 时间 空间 输入 增大

在刷面试题中的算法题经常出现时间复杂度O(n),空间复杂度O(1)很多时候不知道是什么意思

空间复杂度与时间复杂度是数据结构的复杂度,在现在储存设备越来越便宜的时代,时间复杂度是决定程序运行速度的重要因素
算法时间复杂度是衡量计算性能的指标,反映了程序执行时间随着输入规模的增长而增长的量级,很大程度的反映出算法性能的好坏,这个量级用大写的O加()表示

从好到坏常用算法复杂度排序如下

O(1):常数级
最低复杂程度,使用时间或使用空间与输入数据大小没有关系,无论输入数据多大,使用时间或使用空间不变
哈希算法就是典型的常熟级算法

O(log n):对数级
使用时间或空间随着输入数据增大,复杂度增大为log n倍,log n倍是n为2的几次方的上标值
二分查找就是对数级算法

O(n):线性级
输入数据增大几倍,时间或空间增大几倍
大部分遍历就是线性级算法

O(nlog n):线性对数级
使用时间或空间随着输入数据增大,复杂度增大为nlog n倍,nlog n倍是n为2的几次方的上标值乘以n
二分查找就是对数级算法

O(n²):平方级
输入数据增大几倍,时间或空间增大几的平方倍
冒泡排序就是平方级算法,不过复杂度是从O(n)->O(n²),冒泡排序在数据错位数量很小时适用

O(n³):立方级
输入数据增大几倍,时间或空间增大几的立方倍

O(2ⁿ):指数级
输入数据增大几倍,时间或空间增大2的几的次方倍

标签:表示,复杂度,算法,时间,空间,输入,增大
From: https://www.cnblogs.com/mumulin2023/p/17146833.html

相关文章