Math 查找包含日志总数的大O

Math 查找包含日志总数的大O,math,big-o,recurrence,logarithm,Math,Big O,Recurrence,Logarithm,我有一个反复出现的问题,可以分解为日志的总和,但我无法解决它。感谢您的帮助。 T(n)=2T(n/2)+nlog(n) T(1)=1 我画了递归树,我知道它的深度是log(n)。 我得到了O(n)=nlog(n)+nlog(n/2)+nlog(n/4)+…+n 这有对数(n)项 去掉n,这将产生以下求和问题: n*对数(n/2^i)的对数(n)之和i=0 我不知道如何解决这个问题 编辑:日志的所有基础都是2您已经说过了: n*对数(n/2^i)的对数(n)之和i=0 简化log(n/2^i)=l

我有一个反复出现的问题,可以分解为日志的总和,但我无法解决它。感谢您的帮助。
T(n)=2T(n/2)+nlog(n)
T(1)=1

我画了递归树,我知道它的深度是log(n)。
我得到了O(n)=nlog(n)+nlog(n/2)+nlog(n/4)+…+n
这有对数(n)项
去掉n,这将产生以下求和问题:
n*对数(n/2^i)的对数(n)之和i=0

我不知道如何解决这个问题

编辑:日志的所有基础都是2

您已经说过了:

n*对数(n/2^i)的对数(n)之和i=0

简化
log(n/2^i)=log(n)-i*log(2)
,您将得到
n*log(n)*log(n)-log(2)*从0到log(n)的i总和
其中
log(2)=1
,总和类似于
log^2(n)/2
。 所以你得到了
T(n)=O(n*log^2(n))

还可以看看如何求解这样的递推方程。这是一个特例,它给出了相同的结果。

您已经说过:

n*对数(n/2^i)的对数(n)之和i=0

简化
log(n/2^i)=log(n)-i*log(2)
,您将得到
n*log(n)*log(n)-log(2)*从0到log(n)的i总和
其中
log(2)=1
,总和类似于
log^2(n)/2
。 所以你得到了
T(n)=O(n*log^2(n))


还可以看看如何求解这样的递推方程。这是一个特例,它给出了相同的结果。

可能与此相关,例如
log(n/4)=log(n)-log(4)
使用John的提示;它会给你
T(n)~O(n log^2n)
你能告诉我你是怎么得到它的吗?因为我得到了O(n^2),所以可能与使用John的提示相关,例如
log(n/4)=log(n)-log(4)
;它会给你
T(n)~O(n log^2n)
你能告诉我你是怎么得到它的吗?因为我得到了O(n^2)