博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构与算法(1)-算法时间复杂度
阅读量:4058 次
发布时间:2019-05-25

本文共 601 字,大约阅读时间需要 2 分钟。

1.算法时间复杂度:Ω-Θ-T(自下而上)


大 O 记号

如果存在正常数 a、 N 和一个函数 f(n),使得对于任何 n > N,都有

T(n) < a × f(n)

我们就可以认为在 n 足够大之后, f(n)给出了 T(n)的一个上界。对于这种情况,我们记之为

T(n) = O(f(n))

这里的 O 称作“大 O 记号( Big-O notation)”。


大Ω记号

如果存在正常数 a、 N 和一个函数 g(n),使得对于任何 n > N,都有

T(n) > a × g(n)

我们就可以认为在 n 足够大之后, g(n)给出了 T(n)的一个下界。对于这种情况,我们记之为

T(n) = Ω(g(n))

这里的Ω称作“大Ω记号( Big-Ω notation)”。

大Ω记号与大 O 记号正好相反,它是对算法执行效率的一种乐观估计⎯⎯对于规模为 n 的任意
输入,算法的运行时间都不会低于Ω(g(n))。


Θ记号

如果存在正常数 a<b、 N 和一个函数 h(n),使得对于任何 n > N,都有

a × h(n) < T(n) < b × h(n)

我们就可以认为在 n 足够大之后, h(n)给出了 T(n)的一个确界。对于这种情况,我们记之为

T(n) = Θ(h(n))

Θ记号是对算法执行效率的一种准确估计⎯⎯对于规模为 n 的任意输入,算法的运行时间都与

Θ(h(n))同阶。


转载地址:http://powji.baihongyu.com/

你可能感兴趣的文章
java学习(7)类的四大特性2之继承(抽象类)
查看>>
java学习(8)类的四大特性2之继承(接口)
查看>>
java学习(9)类的四大特性2之继承(final)
查看>>
java学习(10)数组
查看>>
java学习(11)位与进制
查看>>
java学习(12)集合(1)
查看>>
java学习(13)集合(2)
查看>>
java学习(14)集合(3)
查看>>
java学习(15)泛型
查看>>
java学习(16)异常处理
查看>>
java学习(17)图形用户界面(1)
查看>>
java学习(18)图形用户界面(2)
查看>>
java学习(19)图形用户界面(3)
查看>>
java学习(20)图形用户界面(4)
查看>>
java学习(21)事件处理机制(1)
查看>>
java学习(22)线程(1)
查看>>
Python学习一之环境配置
查看>>
Python学习二之PyCharm编程软件配置
查看>>
Python学习三之基础语法
查看>>
【opencv学习笔记】022之霍夫圆变换
查看>>