函数(1/2)^n属于哪个Big 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)。
需要帮忙吗?