怎样分析算法的复杂度

  • 前言

     当我们在利用算法实现解决某一个问题时,如果这个算法是正确的,那么通常要去思考这个算法需要的时间和空间资源是多少的问题,如果一个算法需要的时间很长,那么这种算法实际上就很难有用处,同样的如果一个需要很大内存的算法在实际中也是不能使用的。


一、什么是好的算法?

这里我们要明确一点:好的算法更优的算法 不能混为一谈;一个更优的算法消耗更少的时间、更少的空间,而我们作为初学者,应该更多的去考虑怎么写出一个好的算法,而所谓好的算法要满足这两个性质:

  • 1、准确性(任何情况下能彻底解决这个问题)需要对真实数据的大量测试;
  • 2、健壮性 编写的程序在任何情况下都不能崩溃 也要大量测试; 

不过事实上我们并没有那么多的数据量,并且用大量数据去测试是一个很烧钱的事情,我们现阶段能做到的,就是再给定的条件下,尽肯能多的解决问题的每一种情况,只有当我们写的程序能够保证解决给定的问题之后,我们会才要去考虑程序的效率

二、什么是效率?

我们说了,一个更优的算法就是在好的算法的之上提高了效率:我们习惯用时间复杂度和空间复杂度来描述这个“效率”;而所谓时间复杂度就是一个程序运行时间;空间复

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小白还在写代码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值