Algorithm 显示循环关系为O(n logn)

Algorithm 显示循环关系为O(n logn),algorithm,Algorithm,其中x是范围0

其中x是范围
0
内的常数。当
x=0.5、0.1和0.001时,渐近复杂性是否相同?
隐藏在
O()
符号中的常量会发生什么变化。采用替代法

我试图在上使用该示例,但我发现在该示例中,日志从默认的基数更改为基数2,这很奇怪。
我也不明白为什么它需要简化得如此之多,以便从左侧删除cnlog2n,难道这不能在第一步中完成,左侧只会有
“stuff-cnlog2n好吧,如果你用Master定理将其分解成一棵树,那么这将有一个恒定的“数量”“每次都要计算。你知道这是因为x+1-x=1

因此,时间取决于树的级别,而树的级别是对数的,因为每一次碎片都会减少一些常量。由于您对每个级别都进行O(n)计算,因此您的总体复杂性为O(n logn)

我预计这将是一个更复杂的一点“证明”。记住,不管你的日志在什么基础上,它们都只是一些常量。请参阅对数关系


附言:看起来像家庭作业。你自己好好想想

在我看来,这似乎正是快速排序中平均情况的递推公式

你应该看看CLR

但我觉得奇怪的是,在那个例子中,日志从默认的base更改为base 2


这确实很奇怪。简单的事实是,用base
2
比用base unknown
x
更容易证明。例如,在基数2中,
log(2n)=1+log(n)
,这稍微容易一些。你不必使用base
2
,你可以选择你想要的任何base,或者使用base
x
。为了绝对正确,归纳假设必须有其基础:
T(K)第15页的链接不起作用。你可以使用主定理吗?
T (n) = T (xn) + T ((1 − x)n) + n = O(n log n)