我们可以使用哪些算法具有分数方程时间复杂度? (例如100n / 2n + 1)
答案 0 :(得分:2)
复杂性不是某种精确的代数计算。函数f(x)属于一个类,如果你可以将类'函数g(x)中的一个乘以一个常数C,并显示它总是大于你的函数 - 简单地说,你必须证明存在一个非无穷大的C值,因此对于足够大的x,方程式为真:
f(x)< = C * g(x)
所以,例如3n + 5属于O(n),因为3n + 5 <= 1000n。
在类似的徒劳中,你可以证明100n /(2n + 1)<= 50n,因此它的复杂性属于O(n)。
编辑:它也属于O(1),因为100n /(2n + 1)&lt; = 50 * 1。