求解Ω和Θ(O,Omega和Theta符号)

时间:2011-10-09 18:20:50

标签: algorithm big-theta big-o

我已经解决了一个递归关系,其运行时间为Θ(2 ^ n),指数 时间。 如何找到相同的递归关系的Ω和O.

我猜如果它是Θ(2 ^ n),它也应该是O(2 ^ n),我是对的吗? 如何找到Ω,下限?

我尝试解决递归关系:

T(n)= 2T(n-1)+ C.

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:4)

如果是家庭作业,您可以尝试将其绘制为递归树,其中节点表示函数调用所需的操作的复杂性。

编辑:关于下限,欧米茄被定义为下限。如果你有Theta(确切的行为),你也有Omicron和Omega ......它们的精确度就不那么精确了。

所以

Theta(n) <=> O(n) AND Omega(n)

<强> SPOILER

如果我没记错的话,这就是你解释它的方式......

你有一棵树,你的根只有C(解决方案的工作),你必须吐两个分支(再次用C作为工作),节点获得分支n

     C
    /|
   C C
  /| |\
 C C C C
/| ......

完整解决方案

因为树的深度为n,所以您的2^n个节点都有C的复杂度,那么您的n-1级别的复杂度为C, 2C, 4C....(2(n-1)*C) {1}},它们应该总结为2^n*c

因此,最终的复杂性应为2*(2^n)*C theta(2^n)