对于作业问题,我必须比较O(2 ^ n)和Θ(2 ^ n)的时间复杂度。
我相信Θ(2 ^ n)更好,因为它涵盖了2 ^ n的上限和下限,但我不确定。谢谢您的时间。
答案 0 :(得分:1)
如果您有O(2^n)
,肯定会更好。因为您可以希望,即使在最坏的情况下也可能会很糟糕。但是那种最坏的情况可能很少发生。因此,平均时间复杂度可能会更好。例如,您遇到的情况是以1/2^n
的概率发生的,并且在这种情况下算法以2^n
的计算成本运行,但是在所有其他情况下该算法的成本为{{1} }。因此,该算法的复杂度为1
,但平均复杂度为O(2^n)
。
但是,像上面的示例一样,使用O(1)
的算法不会发生。
但是在\Theta(2^n)
中,您将确定平均时间复杂度为Theta(2^n)
,并且可能会很糟糕。