求解 T(n) = 2T(n/2) +日志n

发布于 2024-12-07 10:07:47 字数 1459 浏览 1 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜吻♂芭芘 2024-12-14 10:07:47

首先你应该定义一个递归导出,比如 T(1)
然后:
因为 T(2^k) = 2T(2^(k-1)) + k; *
我们定义 g(k) = T(2^k)/2^k;
然后 * 进入:
g(k) = g(k-1) + k/2^k = g(1) + sum(i/2^i);我=2,3,4...k
其中 g(1) = T(1)/2 = c;

然后您可以在其中展开求和表达式并定义它 = y;
然后展开y/2的表达式;
yy/2是等比级数,所以你可以

按照我的方法求解,sum = 3/2 - (k+2)/2^k;

所以 T(n) = 2^k * g(k) = (3/2+c)*n - (2+logn)

first you should define a recursive export,say T(1)
then:
since T(2^k) = 2T(2^(k-1)) + k; *
we define g(k) = T(2^k)/2^k;
then * come into:
g(k) = g(k-1) + k/2^k = g(1) + sum(i/2^i); i=2,3,4...k
where g(1) = T(1)/2 = c;

where you could then unfold the sum expression and define it = y;
then unfold the expression of y/2;
y-y/2 is a geometric progression, so youcan solve it

as I worked out, sum = 3/2 - (k+2)/2^k;

so T(n) = 2^k * g(k) = (3/2+c)*n - (2+logn)

分開簡單 2024-12-14 10:07:47

Wolfram|Alpha给出一个封闭形式的解决方案

recurrence

solution

表示由初始条件固定的常量 c_1。

顺便说一下,log(n)/log(2) = lg(n),其中 lg 是以 2 为底的对数。

Wolfram|Alpha gives a closed form solution:

recurrence

solution

for a constant c_1 that is fixed by the initial condition.

By the way, log(n)/log(2) = lg(n), where lg is the base two logarithm.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文