实习复习---数据结构学习-算法2

本文深入探讨算法优化的重要性,包括时间与空间复杂度的优化策略。强调算法设计的四大要求:正确性、可读性、健壮性和高效性,并详细解析算法效率度量方法,以及时间与空间复杂度的概念。通过对比不同复杂度的算法,帮助读者理解如何选择最优算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


算法?
算法很重要!它可以帮助我们去优化,,,
怎么优化呢?当然是优化时间空间复杂度了啦,
如果以后你写算法,写完了之后要不要想一想还有没有 更优的方法,时间复杂度能不能将一些?两层循环可不可以优化到一层循环?
一层循环的话,可不可以不用循环?
-------------------------------------------------------
算法设计的要求
1)正确性
2)可读性
3)健壮性当输入数据不合理时,算法也能做出相关处理,而不是产生异常
4)时间效率高和存储量低(代码占外存和运行时内存
------------------------------------
算法效率的度量的方法
硬件:机器指令执行指令的速度----》外部因素
软件:编译器,解释器产生大的代码质量----》外部因素
问题的输入规模----》内部因素--看程序的执行次数,运行时间 和这个成+比
------------------------------------------------------------
算法时间复杂度
1)定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数。确定T(n)的数量级
         记作T(n)=O((f(n))),
         一般的,随着n的增大,T(n)增长最慢的算法为最优算法
2)如何计算O((f(n)))?
1)常数阶O(1)
2)线性阶O(n)
3)对数阶O(logn)
4)平方阶O(n的平方)
常见时间复杂度所耗费时间
O(1)<O(logn)<O(n)<O(nlogn)<O(n的平方)<O(n的三次方)<O(指数阶)<O(n的阶乘)
--------------------------------------------------------------------------
算法空间复杂度
可以考虑用空间上的开销来换取时间效率。
空间复杂度:计算算法所用的存储空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值