算法复杂度分析

原创 2016年08月31日 13:17:03

算法分析的四个渐进表示法:

O、o、Θ、Ω

一般,O里的,取最小的
一般,Ω里的,取最大的

一般分析时间复杂度,且常考虑最坏复杂度,常用O分析:

三法则:

法则一:

如果T1(N)=O(f(N)),T2(N0=O(g(N))

T1(N)+T2(N)=max(O(f(N)),O(g(N)))

T1(N)*T2(N)=O(f(N))*O(g(N))

法则二:

如果T(N)为k次多项式,T(N)=Θ(N^k)  

法则三:

对任意常数k,(logN)^k=O(N)

注意:

忽略调用函数和返回值的开销

声明不计时间

O内无常数,系数,低阶项

一般法则:

法则一:for循环

法则二:嵌套的for循环

法则三:顺序语句

法则四:if-else语句

从不超过判断再加上if和else语句中运行较长的部分的和



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

排序算法复杂度

  • 2012-10-24 21:18
  • 36KB
  • 下载

算法复杂度分析

算法复杂度定义:         算法复杂度分为时间复杂度和空间复杂度,算法的复杂性体现在运行该算法时计算机所需资源的多少上,而计算机资源最重要的是时间和空间(寄存器)资源。     &...

常用排序算法复杂度

  • 2017-09-22 16:11
  • 16KB
  • 下载

算法复杂度计算方法

  • 2017-08-16 10:47
  • 19KB
  • 下载

解递归式(分析递归式的算法复杂度)

算法设计中经常会用到递归,利用递归式的方法可以清晰地显示算法的整个过程,而对于分析算法的复杂度,解递归式就有了用处,这里的方法来自于《算法导论》。 (一)代换法: 实质上就是数学归纳法,先...

算法复杂度_百度百科

  • 2016-09-21 21:08
  • 1.04MB
  • 下载

算法复杂度分析

1、算法的时间性能分析 (1)算法耗费的时间和语句频度    一个算法所耗费的时间=算法中每条语句的执行时间之和 每条语句的执行时间=语句的执行次数(即频度(Frequency Count))×语句执...

建堆的算法复杂度分析 O(n)

代码: template inline void MaxHeap::make_heap(vector & v) { if (heap_.size() != 0) heap_.clear(); ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)