数据结构:时间和空间复杂度

本文详细介绍了时间复杂度和空间复杂度的概念,通过冒泡排序、递归和斐波那契等例子说明了常见算法的时间复杂度,并比较了不同复杂度的大小关系。鼓励读者结合代码实践理解这些概念。
摘要由CSDN通过智能技术生成

1 时间复杂度(主要衡量一个算法的运算速度)

算法中的基本操作的执行次数,为算法的时间复杂度。

1.1 推倒大O阶方法:

1:用常数1取代运行时间中的所有加法常数。

2:在修改后的运行次数函数中,只保留最高阶项。

3:如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶。

1.2 主要的算法复杂度

冒泡排序最坏情况下的时间复杂度为O(N^{2})

递归最坏情况下的时间复杂度为O(N)

斐波那契递归最坏情况下的时间复杂度为O(2^{n}

2 空间复杂度(衡量一个算法的空间)

2.1 主要的算法空间复杂度:

冒泡排序的空间复杂度为O(1)

斐波那契的空间复杂度为O(N)

阶乘的空间复杂度为O(N)

3 小结

结合代码的实现去做空间复杂度和时间复杂度的计算

一些常用的复杂度的大小(  O(1)  <  O({log_{2}}^{N}) <  O(N)  < O(N{log_{}}^{N})  < O(N^{2})   )

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值