哪个功能增长得更快

时间:2013-12-24 13:30:57

标签: algorithm big-o time-complexity

  

2 ^(n / 2 + 10 log n)

  

2 ^ N?

我在麻省理工学院开放式课程6.006进行练习。它有一个问题,即后来比前者增长得更快。但我不同意这个证据。我说前者比后者增长得快。有人可以解释我是不是错了,让我知道为什么。谢谢!

1 个答案:

答案 0 :(得分:7)

你可以通过拉出指数部分来区别对待,然后只询问哪个更大(n / 2 + 10logn)或n。 这里很清楚,当10logn小于半n时,第二个将更大。

当n达到大约30时,这变成了现实,所以从那时起,第二个更大。 (对于基数10)


让我们进一步讨论log base 2以及10LogN何时可能小于N / 2?
好吧,这与询问logN何时小于N / 20

相同

松散地说,log_2是描述基数2中数字所需的位数。所以:

  • log_2(32)给了我们5.
  • log_2(64)给了我们6.
  • log_2(128)给了我们7.< - 看这里128:7约为18:1
  • log_2(256)给了我们8.
  • log_2(512)给了我们9.
  • log_2(1024)给了我们10.
  • log_2(64000)给我们~16。

现在我们正在寻找第一个值(32,64,128等)超过第二个值的20倍。正如你所看到的那样,只会超过128/7对,并且它们会迅速分开。