Big-O 的非正式概念被描述为“它是函数的最高增长阶”,即 f(n) = 3n^2 + 5n + 50 就是 O(n^2)。
我确实理解 Big-O 只是一种说“保证不会比这个时期更糟”的方式。形式上,定义似乎是 f(n) -> O(g(n)) iff f(n) <= c * g(n) 其中 c 是正数
首先是一些数学的东西..如果 f(n) = 5n^2, g(n)=n 我应该能够通过这样做来证明 5n^2 不是 O(g(n))
5n^2 <= cn
5n <= c
如果这个想法是 c 不是一个常数(我不知道这是否是一个要求),那就是证明 f(n) 不在 O(g(n)) 中,如果 g(n) 是n^3(肯定应该包含其中)?
5n^2 <= cn^3
5/n <= c
我对我假设的所有这些数学是如何计算的有一个误解,所以我问:
所有这些花哨的东西是如何工作的
它如何连接到我的数据结构类中给出的简单定义?
谢谢你的帮助