一、渐进表达式
1、找最高项
2、去系数
e.g
二、渐进阶
渐近阶是指随着输入规模的增加, 算法的时间复杂度的增长趋势, 通常用大O符号来表示.
常见从低到高排列:
https://blog.csdn.net/qq_41856733/article/details/89034055
e.g
三、渐近上界、渐近下界、准确的界
1、渐近上界 O
设函数f(n)和g(n)是定义在非负整数集合上的正函数,如果存在两个正常数c和n0,使得当n≥n0时,有f(n)≤cg(n),则记做f(n) = O(g(n)),称为大O记号(big Oh notation) 称g(n)是f(n)的一个上界。
注: f(n)的阶不高于g(n)
2、渐近下界 Ω
设有函数f(n)和g(n)是定义在非负整数集合上的正函数,如果存在两个正常数 c和n0,使得当n≥n0时,有f(n)≥c g(n),则记做f(n) = Ω (g(n)),称为Ω记号(omega notation)。
注: f(n)的阶不低于g(n)
3、准确的界 θ
设有函数f(n)和g(n)是定义在非负整数集合上的正函数,如果存在正常数c1,c2和n0,使得当n≥n0时,有c1 g(n)≤f(n)≤c2 g(n),则记做f(n) = θ(g(n)),称为θ记号(Theta notation)。
注:此时f(n)和g(n)同阶
e.g
四、
下面的算法段用于确定n的初始值。试分析该算法段所需计算时间的上界和下界。
while(n>1)
if(odd(n))
n = 3*n+1;
else
n = n/2;
补充: odd(n) 是一个pascal与c中的布尔型函数,即判断一个变量的值是否为奇数。若n为奇数,则返回true;若n为偶数,则返回false。