大O算法到底应该怎么理解呢?网上说的我云里雾里的。求助啊...
书上是这样说的:"令f和g为从整数集合或实数集合到实数集合的函数,如果有常数C和k,使得只要x > k",就有:
|f(x)| ≤ C|g(x)|
1.但是实数不是包括整数了吗? 怎么是从整数或实数呢?
2."如果有常数C和k, 使得x > k". C和K还有x又有什么关联呢??
我真晕了,网上找了一下, 大概意思就是使用一个O函数来表示某个函数的增长.
但我还不是明白书上所给的这个公式是什么意思.. 这问题折磨我两天时间了呐..惨啊, 吃饭睡觉都在想..
哪位大哥能回答下下么?十分谢谢!
[解决办法]
<算法导论>中文版中这样说:
对一个函数g(n),用O(g(n))表示一个函数集合:
O(g(n))={f(n):存在正常数 c 和 n0,使对所有的n>=n0,有0<=f(n)<=c*g(n)}.读作g(n)的大O.
这里g(n)为函数集合O(g(n))一个渐进上界,该函数集合中的函数值总小于g(n),且n越大越逼近.
考虑自变量趋于无穷大时函数极限的定义.
设函数f(x)当
[解决办法]
x
[解决办法]
大于某一整数时有定义,如果存在正常数A,对于任意给定的正数e,总存在整数X,使得当x满足不等式
[解决办法]
x
[解决办法]
>X时,对应的函数值f(x)都满足不等式
[解决办法]
f(x)-A
[解决办法]
<e,
那么常数A就叫做函数f(x)当x->inf时的极限,记作
lim_x->inf f(x)=A.
你会发现某些东西>_<.