algorithm - 问:求解以下递归:T(n) = 8T(n/8) + n log n
问题描述
我正在尝试解决以下重复问题:
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
as
n^k / 8^(k*(k+1)/2)
,但我仍然没有看到解决方案。
解决方案
你快到了。设置k = log_8(n)
然后你可以解决T(n)
推荐阅读
- reactjs - 是能够在 chrome 中进行 100 毫秒更新的反应
- yugabyte-db - 每个数据库或键空间的 Yugabyte 复制和集群
- rust - 结构中迭代器的可窥视
- html - CSS Grid:是否可以通过针对动态创建的特定网格项来更改 z-index?
- vue.js - 如何正确(语法)编写这一行 Vue
- mysql - 有没有办法使用 2 列来唯一标识 MYSQL 中的一行?
- c# - ASP.NET Core:在控制器类中使用“DisplayFor”方法来检索本地化的枚举显示属性
- c# - 尝试创建多值列表会导致错误
- java - Mockito When...Then Return - 返回被忽略?
- wordpress - 如何在wordpress帖子中显示与作者姓名和日期内联的自定义内容?