在java中指定大O表示法(算法)

在java中指定大O表示法(算法),java,algorithm,big-o,computer-science,Java,Algorithm,Big O,Computer Science,我正在努力完全理解big-o符号,希望能在提供的图片中提供一些关于以下问题的指导。 对于第一个问题,我的答案是O(n^2),但是我对我的答案没有充分的信心。任何帮助都很好,谢谢 在第一个问题中,复杂性是O(log5N),也就是说,它是O(logn),因为迭代次数受到条件5^N的限制。除注释外,在第一个问题中,计算的是产品,而不是总和 在第二个问题中,迭代的次数是(N-5)*(2*N)*1000,这大致等于2000*N^2,所以大O是O(N^2)。@Seelenvirtuose第一个不是O(N)。

我正在努力完全理解big-o符号,希望能在提供的图片中提供一些关于以下问题的指导。 对于第一个问题,我的答案是O(n^2),但是我对我的答案没有充分的信心。任何帮助都很好,谢谢


在第一个问题中,复杂性是O(log5N),也就是说,它是
O(logn)
,因为迭代次数受到条件
5^N
的限制。除注释外,在第一个问题中,计算的是
产品
,而不是
总和


在第二个问题中,迭代的次数是
(N-5)*(2*N)*1000
,这大致等于
2000*N^2
,所以大O是
O(N^2)

@Seelenvirtuose第一个不是O(N)。它的更新有
count=count*5
。@khelwood还有什么?5是一个常数,不向O表示法计数<代码>O(n/5)=O(n)!如果你将n增加5倍,你会得到一个额外的迭代。这不是线性的。我认为它是O(logn)。@Yousaf如果你将n乘以某个常数因子(在本例中为5),那么步数会增加某个常数(在本例中为1)。这是O(logn)。