递归关系的中间步骤T(n)= 2T(n / 2)+ n / log(n)

时间:2016-02-13 02:25:05

标签: algorithm computer-science relation recurrence

我需要帮助理解解决以下递归关系的一个中间步骤:

enter image description here

通过反复替换,我一路走到了:

enter image description here

这是我被困的地方。每个人都说第二部分等于

enter image description here

我尝试了很多操作,但我无法弄清楚如何到达这里。

所以 - 两个问题:

  1. 为什么总和的界限从1到 log(n)
  2. 你如何从我的序列中得出这个总和?我知道序列也写成
  3. enter image description here

    我不需要整个复发的解决方案,我知道如何从那里解决它,只是这个中间步骤。

2 个答案:

答案 0 :(得分:1)

首先,使用Master's theorem解决此类重现问题。你问为什么这里有一个解释。

第一个问题是为什么要从1总结到log n。它很简单:你从数字n开始,每次减少2次。那么它接近n的速度有多快? log n次后log表示此处为log2。如果不明确,请将n替换为2^k

现在是第二部分。你的第i个元素是(如果你不清楚这些基本的日志操作,你必须刷新你对对数的知识):

enter image description here

现在应该清楚为什么你的解决方案与他们的解决方案相同。

答案 1 :(得分:1)

你已经展开你的复发 k 次来到

enter image description here

这意味着 n = 2 k 所以:

  1. 记录此等式的两边意味着 log(n)= log(2 k )= k ,这解释了为什么求和边界变为 log(n )
  2. n 替换为总和的每个术语,您将获得:
  3. enter image description here

    最后:

    enter image description here

    双方只是按照彼此相反的顺序写出谐波系列。