复杂度

作者: 芒果奶油卷 | 来源:发表于2020-02-04 11:36 被阅读0次

算法复杂度

在RAM模型中,算法的运行时间与算法需要执行的指令操作次数成正比,记为T(n)

BigO:存在常数c和函数f(n),使得当n>=c时,T(n)<=f(n),表示为T(n)=O(f(n))

常数项可忽略,低次项可忽略

主定理:

令a>=1和b>1是常数,f(n)是一个函数,T(n)是定义在非负数整数上的递归式:

T(n)=aT(n/b)+f(n)

其中将n/b解释为n/b的向上取整或者向下取整,那么T(n)有如下渐近界:

1.若对某个常数c>0有f(n)=O(n^{\log_b(a-c) }),则T(n)=O(n^{\log_b a })

2.若f(n)=O(n^{\log_b a }),则T(n)=O(n^{\log_b a \log_g n}),g随意

3.若对某个常数c>0,有f(n)=\Omega (n^{\log_b (a+b) }),且对某个常数c<1和所有足够大的n有af(n/b) 小于 cf(n),则T(n) = O(f(n)).

例如.快排:T(n)=2T(n/2)+O(n),对比主定理T(n)=aT(n/b)+f(n),

则a=2,b=2,f(n)=O(n),符合第二条,则平均复杂度O(nlogn),最坏为O(n^2 )

O(1):常数阶;O(logn):对数阶;指数阶:O(2^n )

O(1)>O(logn)>O(n)>O(nlogn)>O(n^2)>O(2^n)>O(n!)

相关文章

  • 时间复杂度(下)

    时间复杂度知识点 最好时间复杂度 最坏时间复杂度 平均情况复杂度 均摊时间复杂度

  • 复杂度分析

    为什么需要复杂度分析? 大O复杂度表示法 时间复杂度分析 常见复杂度量级 复杂度量级简单说明 空间复杂度 时间复杂...

  • 复杂度分析笔记

    常见复杂度 :常数复杂度 :对数复杂度 :线性时间复杂度 :线性对数复杂度 :平方阶 :立方 :K次方阶 :指数阶...

  • 常用的排序算法

    插入排序 复杂度 思路 希尔排序 复杂度 思路 选择排序 复杂度 思路 归并排序 复杂度 思路 快速排序复杂度 思...

  • NLP初学之-算法复杂度

    算法的复杂度分为:时间复杂度和空间复杂度。

  • 算法基础知识

    算法的复杂度 算法的复杂度: 算法的时间复杂度和空间复杂度合称为算法的复杂度,一般不特别说明,讨论的时间复杂度均是...

  • 数据结构-0-时间复杂度和空间复杂度

    1. 算法的复杂度: 算法的复杂度分为时间复杂度和空间复杂度。时间复杂度,是衡量算法执行时间的长度;空间复杂度,是...

  • 时间复杂度和空间复杂度笔记

    复杂度分析笔记 复杂度主要分为时间和空间复杂度 时间复杂度:算法(程序)执行的时间变化趋势 空间复杂度:算法(程序...

  • 算法复杂度

    算法的复杂度是以什么来度量的? 算法的复杂度是以时间复杂度和空间复杂度来计算的。 ①算法的时间复杂度 ...

  • sort_algorithm

    排序方法 时间复杂度(平均) 时间复杂度(最坏) 时间复杂度(最好) 空间复杂度 稳定性 复...

网友评论

      本文标题:复杂度

      本文链接:https://www.haomeiwen.com/subject/uspugctx.html