学习笔记3 时间复杂度和空间复杂度

来源:互联网 发布:java实现三级联动 编辑:程序博客网 时间:2024/06/01 10:39

1 函数的渐进增长

给定两个函数f(n)和g(n),如果存在一个整数N,使得对于所有逇n>N,f(n)总是比g(n)大,那么,我们说f(n)的增长渐近快于g(n)。

2 判定算法效率

判段一个算法的效率时,函数中的常数和其它次要项常常可以忽略,而更应该关注主项(最高项)的阶数。

3 算法的时间复杂度

3.1 定义

这里写图片描述
用大写O()来体现算法时间复杂度的记法,称为大O记法。
一般情况下,随着输入规模n的增大,T(n)增长最慢的算法为最优算法。

3.2 计算时间复杂度的方法

这里写图片描述

3.3常见的时间复杂度

这里写图片描述
这里写图片描述

3.4最坏运行时间和平均运行时间

这里写图片描述

4 算法的空间复杂度

4.1 与时间复杂度的关系

这里写图片描述

4.2 定义

这里写图片描述