- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这两种方法各有多少步骤,当我在这两种方法中考虑最坏的情况时,我该如何计算它们?我读过大量关于如何计算 O 表示法(在本例中为最小 O 表示法数量)的文章,但不知道它是如何工作的。我明白了程序的作用,但是有人可以帮我计算它的步骤并计算最坏情况下的 O 表示法吗?
static int methode1(int[] arr) {
int min = 100;
int minidx = 0;
for(int i = 0; i<arr.length; i++) {
if(arr[i]<min) {
minidx = i;
}
}
return minidx;
}
static int methode2(int n) {
int count = 2;
for(int i = 1; i<=n; i++) {
for(int j=n; j>i; j--) {
count++;
}
}
return count;
}
最佳答案
如果我用n表示数组的长度(其中元素的数量),这个循环将进行n次迭代。每次迭代都会执行“if”,有时还会执行赋值。无论如何,都会有一个补充来到达表中的下一个项目。所以我们每个元素有 2-3 个操作。复杂度为 O(n)。 (这意味着存在一个自然数p,使得操作次数小于p * n,对于所有 n。在我们的例子中,p = 5 肯定会起作用)。
编辑:为了进一步阐明这个想法:这就像在每次迭代中恰好有 1 个复杂操作最多消耗 p 个时间单位。O(n) 表示算法最多执行 n 个复杂操作。因此,算法的运行时间仅取决于n。
在本例中,您有一个从 1 到 n 的循环。这些是n个操作。对于每个步骤,您都有另一个从 n 计数到 1 的循环,这也是 n 操作。在第二个循环中只有一个增量操作。
因此,我们在内循环中有 n * n 递增操作,n * n 递减操作执行内部循环,然后执行另一个 n 个增量操作来执行外部循环。这使得复杂度为 O(n^2)。
关于java - 计算步数和 O 表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47751444/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
我有实体: @Entity @Table(name = "CARDS") public class Card { @ManyToOne @JoinColumn(name = "PERSON_I
我正在尝试计算二维多边形的表面法线。我正在使用 OpenGL wiki 中的 Newell 方法来计算表面法线。 https://www.opengl.org/wiki/Calculating_a_S
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 7 年前。 Improve
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我这里有以下 XML: Visa, Mastercard, , , , 0, Discover, American Express siteonly, Buyer Pay
即将发生的 Google 政策变更迫使我们实现一个对话框,以通知欧盟用户有关 Cookie/设备标识符用于广告和分析的情况。我只想向欧盟用户显示此对话框。我不想使用额外的权限(例如 android.p
本文分享自华为云社区《华为大咖说 | 企业应用AI大模型的“道、法、术” ——道:认知篇》,作者:华为云PaaS服务小智。 本期核心观点 上车:AGI是未来5~10年内,每个人都无法回避的技
我有一个与酒精相关的网站,需要先验证年龄,然后才能让他们进入该网站。我使用 HttpModule 来执行此操作,该模块检查 cookie,如果未设置,我会将它们重定向到验证页面。我验证他们的年龄并存储
在欧盟,我们有一项法律,要求网页请求存储 cookie 的许可。我们大多数人都了解 cookie 并同意它们,但仍然被迫在任何地方明确接受它们。所以我计划编写这个附加组件(ff & chrome),它
以下在 C 和/或 C++ 中是否合法? void fn(); inline void fn() { /*Do something here*/ } 让我担心的是,第一个声明看起来暗示函数将被定义
我是一名优秀的程序员,十分优秀!