Recursion 求递推公式的时间复杂度

Recursion 求递推公式的时间复杂度,recursion,time-complexity,big-o,Recursion,Time Complexity,Big O,我试图找到递归公式的时间复杂度(大O) 我试图找到一个解决方案,您可以看到下面的公式和我的解决方案: 您用问号指定的最后一个假设是错误的!不要做出这样的假设 您提供的其余操作似乎是正确的。但他们实际上什么也没给你带来 你应该在草稿的中间完成这个练习: T(n) = O(T(1)^(3^log2(n))) 就这样。这就是解决办法 你真的可以这么说 3^log2(n) == n^log2(3) ==~ n^1.585 然后你会得到: T(n) = O(T(1)^(n^1.585)) 这有点类似

我试图找到递归公式的时间复杂度(大O)

我试图找到一个解决方案,您可以看到下面的公式和我的解决方案:


您用问号指定的最后一个假设是错误的!不要做出这样的假设

您提供的其余操作似乎是正确的。但他们实际上什么也没给你带来

你应该在草稿的中间完成这个练习:

T(n) = O(T(1)^(3^log2(n)))
就这样。这就是解决办法

你真的可以这么说

3^log2(n) == n^log2(3) ==~ n^1.585
然后你会得到:

T(n) = O(T(1)^(n^1.585))
这有点类似于你在草稿第二部分所做的操作。
所以你也可以这样离开。但你不能把指数弄乱。更改指数的值将更改大O分类。

您用问号指定的最后一个假设为false!不要做出这样的假设

您提供的其余操作似乎是正确的。但他们实际上什么也没给你带来

你应该在草稿的中间完成这个练习:

T(n) = O(T(1)^(3^log2(n)))
就这样。这就是解决办法

你真的可以这么说

3^log2(n) == n^log2(3) ==~ n^1.585
然后你会得到:

T(n) = O(T(1)^(n^1.585))
这有点类似于你在草稿第二部分所做的操作。
所以你也可以这样离开。但你不能把指数弄乱。改变指数的值会改变大O分类。

就像布伦纳说的,你最后的假设是错误的。原因如下:让我们从中获取
O(n)
的定义(使用
n
而不是
x
):

f(n)=O(n)
当且仅当存在常数
c
n0
s.t.
| f(n)|=n0

我们要检查
O(2^n^2)=O(2^n)
。显然,
2^n^2
O(2^n^2)
中,所以让我们选择
f(n)=2^n^2
并检查它是否在
O(2^n)
中。将其放入上述公式中:

存在c,n0:2^n^2=n0

让我们看看我们是否能找到合适的常量值
n0
c
,对于这些常量值,上述情况是正确的,或者我们是否能推导出一个矛盾来证明它不正确:

把木头放在两边:


log(2^n^2)正如布伦纳所说,你最后的假设是错误的。原因如下:让我们从中获取
O(n)
的定义(使用
n
而不是
x
):

f(n)=O(n)
当且仅当存在常数
c
n0
s.t.
| f(n)|=n0

我们要检查
O(2^n^2)=O(2^n)
。显然,
2^n^2
O(2^n^2)
中,所以让我们选择
f(n)=2^n^2
并检查它是否在
O(2^n)
中。将其放入上述公式中:

存在c,n0:2^n^2=n0

让我们看看我们是否能找到合适的常量值
n0
c
,对于这些常量值,上述情况是正确的,或者我们是否能推导出一个矛盾来证明它不正确:

把木头放在两边:


log(2^n^2)到目前为止您尝试了什么?你被困在哪里?提示:重复关系。所有内容都在附件中。到目前为止,您尝试了什么?你被困在哪里?提示:重复关系。所有内容都在随附的照片中非常感谢非常感谢如果我们的答案有帮助,您可以向上投票并接受一个!:-)非常感谢您如果我们的答案有帮助,您可以向上投票并接受一个!:-)