【发布时间】:2015-06-23 06:10:46
【问题描述】:
最近我对算法很感兴趣,并且一直在观看麻省理工学院发布的视频系列。不过,我遇到了一些关于复发的问题。
附加链接是视频的来源。 07:10,教授提到由于某个定理,可以使用T(n/2) in T(n) = 2T(n/2) + theta(1),尽管使用T(n/2的下限)或T(the ceiling of n/2)会更准确。
这个定理到底是什么?实际上我有点困惑,因为n/2 可能不会为某些 n 生成基本情况输入。
例如一些不是 2 的幂 的初始输入。
【问题讨论】:
-
建议将您的标题更改为更具体的内容,例如“为什么我们可以假设对于 T(n) = 2T(n/2) + theta(1),n 是 2 的幂?”
-
重要的见解是 2^ceil(log_2(n)) = O(n)。等式的左侧最多为 2n,因此您始终可以将输入填充为 2^k 大小
标签: algorithm recurrence