【问题标题】:Run time and Big Theta Analysis运行时和大 Theta 分析
【发布时间】:2014-12-12 11:23:12
【问题描述】:

所以,我将介绍 Big Theta 分析和运行时分析。

我有代码 sn-p

sum = 0
for i in range(0,n)
     for j in range (0,i**2)
         if j % 2 == 0:
              for k in range(0,j):
                   sum += 1

我声称它的运行时间为 n^3*log(n^2)。这样做的原因是第一行给了我们n,而在里面第二个循环会给我们n^2,所以我们有n^3,但我不确定是log(n^2)。我知道我们正在寻找可以给我们大约一半值的偶数,所以它可能是 n^2/2,但我有点不确定。

第二部分是找到一个 g(n) 使得 f(n) 是 Theta(g(n))。因此,如果我的运行时间为 n^3,我知道 g(n) 也将是 n^3,因为它同时在 O(g(n) 和 Omega(g(n)) 中。我只想制作确定我理解正确。

【问题讨论】:

    标签: algorithm big-o


    【解决方案1】:

    您的怀疑是正确的,log(n^2) 部分实际上是 n^2/2。您通常会在像二进制搜索这样的情况下看到 log(n),在这种情况下,您在每次迭代中除以输入的大小。

    【讨论】:

    • 那么,我会得到一个 f(n) = n^5 ?
    • @jam 是的,你会得到 n^5
    • 感谢您的澄清!
    猜你喜欢
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多