algorithm – (1/2)^ n的大O类

函数(1/2)^ n属于哪个大O类?

在纯粹的数学基础上,似乎我们必须将它放入O(1),因为对于任何足够大的n,1/2 ^ n接近0.

然而,当谈到渐近分析和Big O时,我们倾向于做很多挥手,并且还要回顾公式. 1/2在技术上是一个常数,所以看起来会落入O(c ^ n).

我倾向于O(c ^ n),因为在谈论算法时说“半操作”是没有意义的.当输入变大时,什么算法需要一半的时间?充其量,我看到数学公式(1/2)^ n指的是一些时间常数的一半 – 比方说,一分钟.所以(30秒)^ n变成一个巨大的数字,并且该函数明显属于O(c ^ n).

一点帮助?

最佳答案 函数0.5n是O(1),并且对于任何c> 0也是O(c). 0(不是O(0),因为对于任何n),0.5n> 0.

它也是o(1)(注little o).

对于任何常数c,它不是Θ(c).如果c = 0,则问题是0.5n> 0. c代表任何n.对于任何c> 0,lim n→∞0.5n< C. 就个人而言,我认为这是Θ(0.5n)是这里最强,最准确的说法.

点赞