增长顺序较高的c.n.(log(base(基础1.5)2))或d。(n ^(log(base(基础1.5)2)))

时间:2018-07-06 21:21:27

标签: time-complexity big-o recurrence clrs

我正在看书中的一个例子。最终方程为(c⋅nlog(基数1.5)n)+ d。(n ^(log(基数1.5)2))。我认为第二个功能具有较高的增长顺序。由于它的计算结果大约为n ^ 1.71,但是该示例选择了第一个函数作为具有较高增长阶数的函数。为什么会这样?

1 个答案:

答案 0 :(得分:0)

这本书是对的。让我们看看为什么。

我将使用conf而不是php7.1来简化表示法。然后我们必须证明

的有效性
laravel 5.6

值为ubuntu 16.04,根据您的计算,该值可以满足

laravel 5.5

(上面的常量log只不过是log(base 1.5)

现在让我们将(1)的两边除以a*n*log(n) > n^b (1)

b

1 < b < 2                       (2)

a满足的地方(请参阅(2))

c/d

现在,n w.r.t.的派生词a*log(n) > n^(b-1)

a*log(n) > n^r                  (3)

r = b-1
由于(4),用0 < r < 1 (4)

。由于x^r在增加,因此x在减少,而r*x^(r-1) 在增加,因为r/x^s 在增加。这意味着(3)左侧的函数正在增加,而右侧的函数正在减小。这就是为什么(3)中的不等式最终有效(即,对于s = 1-r > 0足够大的不成立)的原因。