- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在理解应该如何计算以下算法的原始操作时遇到了一些困难。
我知道步骤的计算是这样的:
(1) = 1 步:赋值
(2) = 1 步:赋值
(3) = 3+(n-1) 步:3 次比较,进行 (n-1) 次
(4) = 1 步:赋值
(5) = 2+(n-2): 赋值比较,进行(n-1)+(n-2)+...+2+1=(n-1)n/2次
(6) = 3 个步骤:两个数组,一个比较 [<] 和一个操作 [-]
(7) = 4 步:两个数组,一个操作 [-] 和函数调用交换,这是第 3 步 n(1)
(8) = 2步:赋值和加法运算
我可以推断出最坏的情况是 (n^2+n+2n+2) = O(n^2) 因为最坏的情况是列表以第一个值作为大值排序并且作为最小值的最后一个值是 i=0 到 n (i-1) 的总和。
也是列表已经排序的最佳情况,这意味着列表将以恒定速度运行。
我的问题是找到如何从算法中收集原始操作,这样我就可以通过计算 c 和 n_0 自己用 Ordo 的定义来证明这一点。
最佳答案
当有人说排序算法具有特定的时间复杂度时,他们通常指的是所需的比较次数。正如您已经完成的那样,您需要计算元素之间的比较次数并计算出常量。
关于algorithm - asymptotic-complexity - 计算原始操作的步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15407011/
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我在理解应该如何计算以下算法的原始操作时遇到了一些困难。 我知道步骤的计算是这样的: (1) = 1 步:赋值 (2) = 1 步:赋值 (3) = 3+(n-1) 步:3 次比较,进行 (n-1)
对以下函数给出最小的 O() 估计: 4n2 + 5n – 8 = O(...) log(n)2 + n = O(...) 如果你们可以,请解释答案而不是给我。像这样的问题将出现在我的中期,我想了解这
我试图理解 Big Theta 符号并遇到了一个例子: 我知道我们必须为这个符号找到两个常量 c1 和 c2,使得 c1*g(n)<= f(n) <= c2*g(n)。我的问题是他们如何找到这两个常量
我知道 $O(n^2\times\log(n))$ 大于 $O (n^2)$,但 $O(n^2\times\log(n))$ 大于 $O(n^{2.5})$? 最佳答案 为了比较 2 个复杂性,只需计
我是一名优秀的程序员,十分优秀!