算法 时间复杂度|空间复杂度
2014-09-05 00:07
316 查看
1.空间复杂度
算法中包含原操作次数的多少叫做算法的时间复杂度,用它来衡量一个算法的运行时间性能。
如果存在两个正常数c和n0,对于所有的 n>=n0,有| f(n) |<=c | T(n)|则称 f(n) 是 T(n) 的同数量级函数。把 T(n) 表示成数量级的形式为:T(n)=O(f(n))。称O(f(n)) 为算法的渐近时间复杂度,简称时间复杂度。
有时候,算法中基本操作重复执行的次数还随问题的输入数据集不同而不同,如在冒泡排序中,输入数据有序而无序,其结果是不一样的。此时,我们计算平均值。
常见的算法的时间 复杂度之间的关系为:
O(1)<O(log n)<O(n)<O(nlog n)<O(n2)<O(2n)<O(n!)<O(nn)
当 n 很大时,指数阶算法和多项式阶算法在所需时间上非常悬殊。因此,只要有人能将现有指数阶算法中的任何一个算法化 简为多项式阶算法,那就取得了一个伟大的成就。
2、空间复杂度
空间复杂度:算法所需存储空间的度量,记作:
S(n)=O( f(n) )
其中 n 为问题的规模。
一个算法所需存储空间:算法本身的存储空间、输入数据的存储空间、算法在运行过程中临时占用的存储空间。 如果额外空间相对于输入数据量来说是个常数,则称此算法是原地工作
算法中包含原操作次数的多少叫做算法的时间复杂度,用它来衡量一个算法的运行时间性能。
如果存在两个正常数c和n0,对于所有的 n>=n0,有| f(n) |<=c | T(n)|则称 f(n) 是 T(n) 的同数量级函数。把 T(n) 表示成数量级的形式为:T(n)=O(f(n))。称O(f(n)) 为算法的渐近时间复杂度,简称时间复杂度。
有时候,算法中基本操作重复执行的次数还随问题的输入数据集不同而不同,如在冒泡排序中,输入数据有序而无序,其结果是不一样的。此时,我们计算平均值。
常见的算法的时间 复杂度之间的关系为:
O(1)<O(log n)<O(n)<O(nlog n)<O(n2)<O(2n)<O(n!)<O(nn)
当 n 很大时,指数阶算法和多项式阶算法在所需时间上非常悬殊。因此,只要有人能将现有指数阶算法中的任何一个算法化 简为多项式阶算法,那就取得了一个伟大的成就。
2、空间复杂度
空间复杂度:算法所需存储空间的度量,记作:
S(n)=O( f(n) )
其中 n 为问题的规模。
一个算法所需存储空间:算法本身的存储空间、输入数据的存储空间、算法在运行过程中临时占用的存储空间。 如果额外空间相对于输入数据量来说是个常数,则称此算法是原地工作
相关文章推荐
- 算法的时间复杂度和空间复杂度
- 整理:算法的时间空间复杂度--面向对象的特征--linux进程状态--设计模式
- [算法]空间复杂度,时间复杂度【转】
- 算法的时间复杂度和空间复杂度
- 算法的时间复杂度和空间复杂度
- 算法 时间复杂度|空间复杂度
- 常用的算法的时间复杂度和空间复杂度
- 算法的时间复杂度和空间复杂度
- 算法的时间复杂度和空间复杂度
- 某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间
- 算法的时间复杂度和空间复杂度
- 常用的算法的时间复杂度和空间复杂度
- 算法的时间复杂度和空间复杂度
- 算法的时间复杂度和空间复杂度
- 一串首尾相连的珠子(m个),有N种颜色(N《=10),设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短。并分析时间复杂度与空间复杂度。
- 计算算法的时间和空间复杂度
- 时间复杂度和空间复杂度2 - 数据结构和算法04
- 一串首尾相连的珠子(m个),有N种颜色(N《=10),设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短。并分析时间复杂度与空间复杂度
- 算法复杂度——时间复杂度和空间复杂度
- 算法的时间复杂度和空间复杂度