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


算法?
算法很重要!它可以帮助我们去优化,,,
怎么优化呢?当然是优化时间空间复杂度了啦,
如果以后你写算法,写完了之后要不要想一想还有没有 更优的方法,时间复杂度能不能将一些?两层循环可不可以优化到一层循环?
一层循环的话,可不可以不用循环?
-------------------------------------------------------
算法设计的要求
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的阶乘)
--------------------------------------------------------------------------
算法空间复杂度
可以考虑用空间上的开销来换取时间效率。
空间复杂度:计算算法所用的存储空间

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值