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

算法效率与空间复杂度解析
本文探讨了算法效率的重要性,通过大O符号阐述了时间复杂度的推导过程,如冒泡排序的时间复杂度为O(n)。同时,解释了二分查找的时间复杂度接近常数级别O(log(n))。此外,还分析了递归算法的空间复杂度,并强调了空间复杂度关注的是算法执行过程中临时占用存储空间的最大需求。

1.算法效率

1.时间复杂度:算法中基本操作的执行次数
大O符号(Big O notation):是用于描述函数渐进行为的数学符号。
推导大O阶方法:
1、用常数1取代运行时间中的所有加法常数。
2、在修改后的运行次数函数中,只保留最高阶项。
3、如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶。

冒泡排序
时间复杂度:O(n)
二分查找
n=2^num num=log2(n)—>logN
时间复杂度:Olog(n)—>接近常数的时间复杂度

long long Factorial(size_t N)
{
return N < 2 ? N : Factorial(N-1)*N;
}

F(n)—>F(n-1)—>…->F(1)
基本操作:递归调用 —>n----> O(n)

在这里插入图片描述
2.空间复杂度
临时占用存储空间的大小
算法新开的空间才算
在这里插入图片描述
在这里插入图片描述
时间不能复用
空间可以复用
求空间复杂度:最大需要消耗的空间

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值