- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
i = n
while (i >= 1)
{
for j = 1 to i
{
Function() <- (O(1))
}
i = i/2
}
答案是 Theta(n) 但我不明白为什么是 Theta(n)。
根据我的理解,内循环将执行 n + n/2 + n/4 +...+1 所以总数将为 O(n) 并且外循环将执行 logn 时间所以答案应该是 nlogn。但为什么这是 Theta(n) 而不是 Theta(nlogn)?
最佳答案
正如您正确指出的那样,内部循环将执行 n + n/2 + n/4 + ... + 1 ≈ 2*n
次。
让我们看看每行代码将被执行多少次。
i = n // Executed 1 time
while (i >= 1) // Executed approximately log(n) times
{
for j = 1 to i // Executed approximately 2*n times
{
Function() // Executed approximately 2*n times
}
i = i/2 // Executed approximately log(n) times
}
所以算法的总时间复杂度为:
Θ(1) + Θ(log(n)) + Θ(n) + Θ(n) + Θ(log(n))
等同于Θ(n)
。
关于algorithm - 两个循环但 Theta(n)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41708311/
它是 f(n)=theta(h(n)) 因为 theta 是可传递的。但是谁能解释为什么 h(n)=theta(f(n))。 最佳答案 通过定义扩展 Big-O 符号通常会使事情变得简单。 关于alg
在 Andrew Ng 进行机器学习 MOOC 时,他理论上解释了 theta'*X 为我们提供了假设,而在做类(class)时我们使用 theta*X。为什么会这样呢? 最佳答案 theta'*X
我正在阅读算法导论并尝试完成书中的练习。 练习 4.1-3 4.1-3 Implement both the brute-force and recursive algorithms for the
这是假设函数 h(x)=theta 0 + theta 1(x)将 theta 0 的值为 0,theta 1 的值为 0.5 后,如何将其绘制在图表上? 最佳答案 这与我们绘制线性方程的方式相同。让
所以我的问题是如何制作极坐标图 r = f(theta)对于一个函数f通过计算r获取一系列 theta 值,然后转换 r使用方程将 theta 和 theta 转换为笛卡尔坐标 x = r cos(t
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 9 年前。 Improve
我们的教授和各种资料都说 Summation(n) = (n) (n+1)/2,因此是 theta(n^2)。但直觉上,我们只需要一个循环就可以找到前 n 项的总和!所以,它必须是 theta(n)。
我们使用 Ө-notation 来写插入排序的最坏情况运行时间。但是我无法将 Ө-notation 的属性与插入排序联系起来,为什么 Ө-notation 适用于插入排序。对于所有 n>=n0,插入排
log n^2 等同于 2logn,它以与 logn 相同的速率增长,因为我忽略了因子和常量。但是,如果我要对整个项进行平方,以便得到 (logn)^2,它是否也是 logn 的大 theta? 最佳
有没有办法证明 f(n) + g(n) = theta(n^2) 还是不可能?假设 f(n) = theta(n^2) & g(n) = O(n^2) 我尝试了以下方法:f(n) = O(n^2) &
这看起来微不足道,但我无法解决。我想将 Theta 增加 15 度。但是,内部是按弧度计算的。所以这就是我所做的 if ( m_a > PI ) m_a = m_a - 2*P
我无法找到某些类型代码的 theta,例如。 for(i=1;i=1;j=j/3){ .... } } 如何找到上述代码的 theta。 如果有人帮助我在一般情况下如何找到它,那将非常有帮助。 f
对于运行时间为 (cn) 的函数!其中 c 是系数 >= 0 且 c != n,运行的紧界是 Θ(n!) 还是 Θ((cn)!)?现在,我相信它会是 Θ((cn)!),因为它们会相差一个系数 >= n
for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { for (int k = 0; k < 5; k++)
这是我需要分析的代码: i = 1 while i 。它显然与 i 本身一样多。因此,如果 i 的值为 256,那么您将执行 j = j + 1 多次。 因此,完成的总工作量是 i 在外循环执行中所采
有一些书说 theta 表示法称为平均情况,而另一些则说 theta 不是平均情况。如果theta不是平均情况,那么在算法方面什么叫平均情况? 最佳答案 O、Ω 和 Θ 符号实际上与算法的最佳/平均/
Theta 符号的简单英语解释是什么?使用尽可能少的正式定义和简单的数学。 theta 表示法与大 O 表示法有何不同?谁能用通俗易懂的英语解释一下? 算法分析中有怎么用到的?我很困惑? 最佳答案 如
我一直在尝试生成 Newton's method Jacobi theta functions 的分形-- 我对 mpmath 的尝试需要很长时间,所以我尝试用 C 进行编码。 用于生成以下图像的来源
这是 Python 入门级编码类(class),因此请简单介绍术语,因为我们只是在迈出一小步。这是我正在尝试工作的 for 循环。 g=9.81 h0=1 radians=pi*thetas(j)/1
作为学期的一部分,我们正在使用 C 进行编程,这是一个座谈会测试问题的示例: unsigned f(unsigned n) { if(n<=1) return 1; return f(n-2)+f(n
我是一名优秀的程序员,十分优秀!