算法性能分析——时间复杂度和空间复杂度

算法性能分析

时间复杂度

时间复杂度是一个函数,它描述算法的运行时间。

假设数据量为n,算法的操作数据量为f(n),随着数据量n的增大,算法的执行时间和f(n)的增长率会按照相同的速度增长,这就是时间复杂度,记为O(f(n)),其中O表示算法时间复杂度的一般情况(严格来说是上界,但是默认规定为一般情况)。

不同数据量也会影响时间复杂度(类似于函数):
O(1)常数阶 < O(logn)对数阶 < O(n)线性阶 < O(n2)平方阶 < O(n3)立方阶 < O(2n)指数阶
image

同样也可对时间复杂度进行化简:
O(2n+3n2+100)>O(n2)

log是一种忽略底的描述,只考虑增长趋势。以2或10为底都是一样的:
image

空间复杂度

空间复杂度记为S(n),同样用O表示,它表示预估程序在运行过程中占据内存的大小。

本文作者:我好想睡觉啊

本文链接:https://www.cnblogs.com/z-qhhh/p/17087384.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   我好想睡觉啊  阅读(38)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起