算法(3)

来源:互联网 发布:安卓6.0源码编译教程 编辑:程序博客网 时间:2024/05/17 09:12

上两篇:
算法(1)
算法(2)

一、常见的时间复杂度

常用的时间复杂度.png

二、最坏情况和平均情况
  • 最坏情况运行时间是一种保证,那就是运行时间将不会再坏了
  • 平均时间是所有情况中最有意义的,因为它是期望的运行时间。
  • 对算法的分析,一种方法是计算所有情况的平均值,这种时间复杂度的计算方法称为时间复杂度。另一种方法是计算最坏情况下的时间复杂度,这种方法称为最坏时间时间复杂度。
    一般没有特殊说明的情况下,都是指最坏时间复杂度。
三、算法空间复杂度
  • 算法的空间复杂度通过计算算法所需的存储空间实现,算法空间复杂度的计算公式记作:S(n) = O(f(n)),其中,n为问题的规模,f(n)为语句关于n所占存储空间的函数.
    一般情况下,一个程序在机器上执行时,除了需要存储程序本身的指令、常数、输入数据外,还需要存储对数据操作的存储单元。
    通常,我们都使用“时间复杂度”来指运行时间的需求,使用“空间复杂度”指空间需求。当不用限定词地使用“复杂度”时,通常都是指时间复杂度。
结尾语:

很多学生,学了四年计算机专业,很多程序员,做了很长时间的编程工作,却始终都弄不明白算法的时间复杂度的估算,这是很可悲的一件事。因为弄不清楚,所以也就从不深究自己的代码是否效率低下,是不是可以通过优化让计算机更加快速高效。
算法的重要

原创粉丝点击