algorithm - Q : Solving the following recurrence: T(n) = 8T(n/8) + n log n

标签 algorithm data-structures time-complexity

我正在尝试解决以下重复问题:

T(n) = 8T(n/8) + n* log n. 

我目前已完成以下操作,但不确定我是否在正确的轨道上:

1. T(n)= 8 T(n/8) + n log n;
2. T(n)= 8^2 T(n/8^2) + n log (n/8) + n log n
3. T(n)= 8^3 T(n/8^3) + n log (n/8^2) + n log (n/8) + n log n

所以我想到了一般公式:

T(n)= 8^k T(n/8^k) + n log(n* n/8 * n/8^2 * ... * n/8^k).

而且我不确定如何继续这个。我试图将 log 重写为 n^k/8^(k*(k+1)/2),但我仍然没有看到解决方案。

最佳答案

你快到了。设置 k = log_8(n) 然后你可以解决 T(n)

关于algorithm - Q : Solving the following recurrence: T(n) = 8T(n/8) + n log n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53344868/

相关文章:

Java 字符串操作到列中

ruby-on-rails - 存储可能相似的元素矩阵

c - while 循环内出现段错误

algorithm - 两个嵌套循环的简单算法复杂度

performance - Haskell 中的素筛

java - 在 Java 中生成加起来为 100 的 12 个数字的所有组合的有效方法

Java如何检查二维数组中的一行是否为空。

algorithm - B 树和 BST 用例

algorithm - 最大流边约束

arrays - 为什么用数组来实现 "list"而不是哈希表?