算法基础(1)
来源:互联网 发布:网狐6603棋牌源码下载 编辑:程序博客网 时间:2024/06/04 20:01
设f和g是定义域为自然数集N上的函数。
1)若存在正数c和n0使得对一切n >= n0 有0 <= f(n)<=cg(n) 成立,则称f(n)的渐进的上界是g(n),记作f(n) = O(g(n)).
2)若存在正数c和n0使得对一切n >= n0 有0 <= cg(n)<=f(n) 成立,则称f(n)的渐进的下界是g(n),记作f(n) = Ω(g(n)).
3)若存在正数c和n0使得对一切n >= n0 有0 <= f(n)<cg(n) 成立,记作f(n) = o(g(n)).
4)若存在正数c和n0使得对一切n >= n0 有0 <= cg(n)<=f(n) 成立,记作f(n) = w(g(n)).
5)f(n) = O(g(n)), f(n) = Ω(g(n)) 则记作 f(n) = Θ(g(n)).
c是一个与n无关的常数。1)和3)中记号分别叫“大O记号”和“小o记号“ 他们区别在于f(n) = O(g(n))时,f(n)的阶可能低于g(n)也可能等于g(n)。f(n) = o(g(n))时,f(n)的阶只能低于g(n)因此f(n) = o(g(n))可以推出f(n) = O(g(n))。
定理
1)n ->∞时 f(n)/g(n)存在,并且等于某个常熟c>0,那么f(n) = Θ(g(n)).
2) n ->∞时 f(n)/g(n) = 0, 那么f(n) = o(g(n))
3) n ->∞时 f(n)/g(n) = ∞, f(n) = w(g(n)).
以下是各种函数的时间复杂度由高到低的排列(√为根号):
n!, 2^2n , n2^n, (logn )^logn = n ^ loglogn, n^3, nlogn = Θlog(n!), n = Θ(log10^n), 2^log√n, 2^√(2logn) , loglogn
- 算法基础(1)
- 算法基础(1)-枚举
- 一些基础算法(1)
- 算法基础(MD5算法)
- 基础算法练习(1)--排序
- 【python新手】---基础算法(1)
- 基础算法题(1) - 数字、模拟
- php 基础算法题(1)
- 面试---算法排序基础(1)
- 算法基础:1枚举
- 贪心算法--1基础
- 算法导论(一)1、算法基础-简介
- 基础算法(排序)
- (算法)基础符号
- 算法基础(转载)
- 算法基础(一)——基础
- 算法基础(三):队列基础
- 算法基础(一)——基础 .
- Android开发者网址导航
- 一台服务器安装运行多个Tomcat及注册服务
- Android Studio调试功能使用总结
- MFC/vc中当鼠标经过按钮等控件时出现文字提示功能
- matlab 画三维动画
- 算法基础(1)
- ViewPager实现自动切换图片(一)
- JS公共小方法之判断对象是否为domElement
- zzuoj 10377: squee_spoon and his Cube III (DP状态转移)
- ubuntu14.04下配置apache2+tomcat8负载均衡
- 利用经纬度计算两点之间距离:
- 单片机系统设计的误区与对策(有了看门狗就不会死机)
- 字节流与字符流
- SQL 双重条件查询语句