[原创]介绍算法中的3个通用符号
介绍算法中的3个通用符号:Θ,O,Ω.都是对一个特定算法的时间量度。三种符号都可以用,但是有不同的用处。
Θ符号,比如Θ(n),Θ(n^2),这里n^2表示n的平方,(表示不出来没有办法)。正规的意思是asymptotically tight bond,一般表示时间的渐进表示。比如T(n)=20n^2+5n+345,那么T(n)=Θ(n^2),只需要去掉低阶项和高项的系数就可以表示出Θ符号。也可以理解为大约是这个阶的算法时间。
O符号有两种用法,一种实际上就是跟Θ一样,只不过人们习惯用O表示,比如T(n)= 20n^2+5n+345=O(n^2)。另一种是asymptotically upper bond,时间上界,也就是说可以表示最坏的时间,奇怪的是n=O(n^2),这是可以的。比如说一个算法时间的最坏的时间就可以用O。O也是最常用的。
Ω是asymptotically lower bond ,表示时间下限,表示最优时间,一般到不了这种情况,但是有时候还是有用的。