“算法X的成本在最大使用椭圆的区域内是线性的吗?”
这是否意味着算法X的成本随着椭圆面积的增加而线性增长?
注意,椭圆的面积增加一倍,这意味着指数,对吧?
答案 0 :(得分:2)
如果A是算法将为O(A)的区域。
如果你考虑(x / a)^ 2 +(y / b)^ 2 = 1那么你的算法将是O(a * b)
如果在算法的每次迭代中将椭圆区域加倍,则区域将呈二次增长,但总复杂度将为O(An),其中An是上次迭代中的区域
修改强>
我会深入一点:
您的算法将执行f = A0 + A1 + ... + Ai 的操作是 i-th 迭代的区域 我们可以重写公式为f = A0 + 2 * A0 + 4 * A0 + ... + 2 ^ n * A0
O(f)= O(2 ^ n * A0)其中2 ^ n * A0 = An
答案 1 :(得分:1)
椭圆的面积是二次的(N ^ 2),而不是指数的(2 ^ N)。该陈述意味着成本是N的线性函数,其中面积是函数N ^ 2。