算法的复杂度的渐近表示方法
2008-08-05 14:34
176 查看
一个算法的时间复杂度,指算法运行的时间。假设数据输入规模是n,算法的复杂度可以表示为f(n)的函数一。大O记号假设f(n)和g(n)的定义域是非负整数,存在两个正整数c和n0,使得n>n0的时候,f(n)<c*g(n),则f(n)=O(g(n))。可见O(g(n))可以表示算法运行时间的上界。O(g(n))表示的函数集合的函数是阶数不超过g(n)的函数。二。Ω记号Ω记号与大O记号相反,他可以表示算法运行时间的下界。Ω(g(n))表示的函数集合的函数是所有阶数超过g(n)的函数。三。Θ记号Θ记号介于大O记号和Ω记号之间。他表示,存在正常数c1,c2,n0,当n>n0的时候,c1*g(n)<f(n)<c2*g(n),则f(n)=Θ(g(n))。他表示所有阶数与g(n)相同的函数集合。四。小o记号f(n)=o(g(n))当且仅当f(n)=O(g(n))且f(n)≠Ω(g(n))。也就是说小o记号可以表示时间复杂度的上界,但是一定不等于下界。五。例子假设f(n)=2n^2+3n+5,f(n)=O(n^2)或者f(n) = O(n^3)或者f(n)=O(n^4)或者……f(n)=Ω(n^2)或者f(n)=Ω(n)或者f(n)=Ω(1)f(n)=Θ(n^2)f(n) = o(n^3)或者f(n)=o(n^4)或者f(n)=o(n^5)或者……注:n^2表示n的平方,以此类推。
相关文章推荐
- 算法复杂度的渐近表示法
- 算法复杂度的渐近表示法(详细版)
- 将算法复杂度一步步进化到O(n)的最大子序列和的方法合集
- 如何计算算法的复杂度,如何计算推导O阶方法
- 最大子段和算法 不同复杂度方法实现
- 图基本算法 图的表示方法 邻接矩阵 邻接表
- 计算算法时间复杂度的主方法的一种较为简洁的记忆方法
- [算法] 排序方法复杂度、稳定性汇总
- 2.1 算法的概念与表示方法
- 分析算法时间复杂度的方法
- 程序员面试100题(算法)之整数的二进制表示中1的个数(两种方法)
- 算法的时间复杂度和空间复杂度的求解方法
- 什么是算法 , 算法复杂度 ,表示形式 ,及分类
- 顺序表应用1:多余元素删除之移位算法(两种表示方法)
- 【算法与数据结构】关于代码运行时间复杂度的计算方法
- 图基本算法 ,图的表示方法 邻接矩阵 邻接表
- 掌握算法的渐近时间复杂度和空间复杂度的意义与作用
- 什么是算法 , 算法复杂度 ,表示形式 ,及分类
- 程序复杂度估计的表示方法
- 计算算法时间复杂度的主方法的一种较为简洁的记忆方法