算法时间复杂度 和 空间复杂度

本文介绍了算法复杂度的两个重要指标——时间复杂度和空间复杂度。时间复杂度衡量算法执行时间与问题规模的关系,而空间复杂度则关注算法运行过程中的存储需求。理想算法应具备执行时间短和所需空间少的特性。讨论了空间复杂度的三个方面:算法本身、输入输出数据和临时占用空间,并举例说明了不同算法的空间复杂度表现。
摘要由CSDN通过智能技术生成

时间复杂度

 算法复杂度分为时间复杂度和空间复杂度,一个好的算法应该具体执行时间短,所需空间少的特点。

     随着计算机硬件和软件的提升,一个算法的执行时间是算不太精确的。只能依据统计方法对算法进行估算。我们抛开硬件和软件的因素,算法的好坏直接影响程序的运行时间。
     我们看一下小例子:
     int value = 0;                         // 执行了1次
     for (int i = 0; i < n; i++) {       // 执行了n次
          value += i;
     }
     这个算法执行了 1 + n 次,如果n无限大,我们可以把前边的1忽略,也就是说这个算法执行了n次
     时间复杂度常用大O符号表示,这个算法的时间复杂度就是O(n).
     概念: 一般情况下,算法的基本操作重复执行的次数是模块n的某一函数f(n),因此,算法的时间复杂度记做 T(n) = O(f(n))。 随着模块n的增大,算法执行的时间增长率f(n)的增长率成正比,所以f(n)越小,算法 的时
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

life1024

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

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

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

打赏作者

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

抵扣说明:

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

余额充值