时间复杂度简单认识

时间复杂度:程序的运行时间
n:问题的规模大小
T(n):程序的运行时间长短
T(n) = kn + b
也就是说问题规模和时间的长短大致是呈线性变化的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
化简完后的函数可以近似的代表原来函数的总体趋势
简化后的式子被称为这个程序算法的时间复杂度,记为O(f(n)),f(n)就是简化后的式子,比如说:T(n)=3n + 3;化简后T(n) ~f(n) = n; 那么就将这个函数的时间复杂记为O(n)
更准确的说O代表了运行时间函数的一个渐进上界,即T(n)在数量级上小于等于f(n)
时间复杂度可以表示某个算法的运行时间的趋势,大致的度量算法效率的好坏

时间复杂度的计算:
一、得出运行时间的函数
二、对函数进行简化
(1) 、用常数1来取代运行时间中所有加法常数
(2) 、修改后的函数中、只保留最高阶项
(3) 、如果最高阶项存在且不是1,则忽略这个项的系数

O(1) :常数阶
简便看出时间复杂度的方法:
一般来说:最内层执行次数最多的语句就决定了整个算法的趋势
在这里插入图片描述
对数函数的趋势显然比线性函数好(对数函数随着自变量的增大因变量增长的很慢)
在这里插入图片描述
在这里插入图片描述
空间复杂度(space complexity)和时间复杂度的理解差不多:
该算法所耗费的存储空间,也是问题规模n的函数
算法在计算机存储器上所占用的存储空间,包括存储算法本身所占用的存储空间,算法的输入输出数据所占用的存储空间和算法在运行过程中临时占用的存储空间S(n)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值