教授给了我们一些在家里尝试但没有给我们答案的例子,现在在修改考试的时候,我真的想更详细一点。我们有3个“算法”,我们必须计算出这些算法的大O.
第一名:
sum <- 0
for i=1 to N do
for j=1 to i do
sum = sum + 1
由于这个看起来很像气泡排序循环的for循环,我得出的结论是O(n ^ 2)。
第二个例子:
sum <- 0
for i=1 to N do
for j=1 to i*i do
for k=1 to j do
sum = sum + 1
我估计这应该是O(n ^ 5)。
第3个例子:
sum <- 0
for i=1 to N do
for j=1 to i*i do
if j mod i = 0 then
for k=1 to j do
sum = sum + 1
我认为这个将是O(n ^ 4),因为第三个内部循环将仅运行N i而不是N i * i。任何评论都表示赞赏。提前谢谢。