优秀的算法的定义

所谓算法,就是解决问题的具体步骤。通常,一个问题存在多个不同的算法。不同的算法需要的时间可能有很大的差别。即使同一个算法,算法都执行时间也会随着输入数据量的变化而发生很大的改变。

当数据量很小时,处理的时间很短,但是数据量变大时,处理的时间会有什么变化?

比如说处理一个数据,算法执行时间是1,但数据量变为100,1000时,处理的时间会同样增加10倍还是1000倍,还是变成更多?

因此,判断一个算法优势的标准就是随着数据量增加,程序处理时间增加量最小的,就是优秀的算法。

如何对是算法进行比较?理论上就是根据算法写好程序,然后在同样的时间内看谁处理的数据最多。但是这里存在几个问题。

算法只有写成程序才能判断算法的好坏。但是在程序设计阶段,是不知道算法好坏的,如果事后证明算法效率很低,就得重新设计算法。

同样一个算法,在不同电脑上运行时间也不同。用同样的算法写的同一个程序,配置好的电脑可能时间很短就执行完了,配置低的电脑执行时间就长了。

不同编程语言写的程序本身执行效率就有不同变化。c语言编写的程序速度快,python编写的程序速度就很慢。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值