- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 java 中创建了这个方法,用于指示整数数组是否已排序。它的复杂性是什么?我想如果好的是最坏情况下的 O(1) 是平均情况下的 O(n)?
static boolean order(int[] a){
for(int i=0;i<a.length-1;i++){
if(a[i]>a[i+1]) return false;
}
return true;
}
最佳答案
您没有透露任何有关您的输入的信息。所以假设它是完全随机的。因此,对于任何 2 个邻居对,我们有 50% 的机会对它们进行排序。这意味着我们进行 1 步的概率为 1,2 步为 0.5,3 步为 0.25,k 步通常为 2^(-k)。让我们计算预期的步数:
我不知道如何计算这个系列的总和所以我使用了 wolfram alpha 并得到了 answer: 2 , 所以它是一个常数。
据我了解,随机输入的平均情况是 O(1)。
我不确定这是计算平均复杂度的正确方法,但对我来说似乎没问题。
关于java - 优秀、一般和糟糕情况下的复杂性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14814210/
在单元格中有这样的文字:Sum(d5:d10),请注意没有“=”。我想在另一个带有“=”的单元格中使用此文本,并计算范围 d5:d10 之和的结果,我想要的返回不是文本。 我的目的不是计算总和,但我想
我在 java 中创建了这个方法,用于指示整数数组是否已排序。它的复杂性是什么?我想如果好的是最坏情况下的 O(1) 是平均情况下的 O(n)? static boolean order(int[]
1.什么样的人,才能称得上“优秀”? 其实就看这三点: (1)普通的人改变结果; (2)优秀的人改变原因; (3)顶级优秀的人改变模型。 2.举个例子: 有一家公司为员工提供午餐和晚餐。 吃着吃着,大
我在表中有一个具有以下公式的列 =IF([@[JoBM]]>0; IF([@[JoBF]]>0;[@[Median1]]/[@[Median2]];"-");"-") 该列看起来像这样:0.9、0.8
根据他们的工作,您如何区分出色的 SQL 开发人员? 示例可能包括: 很少使用 CURSOR,并试图将它们重构掉。 很少使用临时表,并试图将它们重构掉。 自信地处理 OUTER JOIN 中的 NUL
我是一名优秀的程序员,十分优秀!