我在CLRS(算法导论)中遇到了一句话 “区分渐近上界与渐近紧界限是算法文献中的标准” 虽然我理解文本想传达的内容的本质,但如果我得到一个说明其差异的例子,我会更好地理解。
答案 0 :(得分:0)
O标记为我们提供了渐近上限。
考虑一个函数f(x)
我们可以定义一个函数g(x),使得f(x)= O(g(x))。
这里的g(x)是f(x)的渐近上限,这意味着对于x> = c的所有值,随着x的增加,f(x)的增长速率与g(x)相同或比g(x)慢。
还要注意的另一件事是,如果h(x)是g(x)的渐近上限,那么可以很容易地得出结论:h(x)也是f(x)的渐近上限。毕竟,如果f(x)只能以等于或小于g(x)的速率生长,则注定它会以等于或小于h(x)的速率生长,因为g(x)的增长速度不能超过g(x)。 h(x)。
例如。如果f(x)= 10x + 2, g(x)= 12x +1和h(x)= 2x ^ 2。
我们可以肯定地说f(x)= O(g(x)),g(x)= O(h(x))和f(x)= O(h(x))。
在这里,g(x)被称为渐近紧上限,h(x)被称为f(x)渐近上限。