【发布时间】:2015-08-02 08:27:40
【问题描述】:
我有一个关于时间复杂度算法和渐近增长的问题。 问题的伪代码是
1: function NAIVE(x,A)
2: answer = 0
3: n= length of A
4: for I from - to n do
5: aux = 1
6. for j from 1 to I do
7: aux = aux*x
8: answer = answer + aux * A[I]
9. return answer
我必须找到带有 O 符号的上界和带有 Ω 符号的下界。 我得到了时间复杂度 f(n) = 5n^2 + 4n + 8 和 g(n) = n^2。 我的问题是我不太确定第 6 到第 8 行的运行时间。 对于第 4 行,我得到常数 2 和时间 n+1,对于第 5 行,我得到常数 1 和时间 1。 在那之后我被困住了。我试了一下,第 6 行得到了常数 2 和时间 n^2 + 1,因为它在 for 循环(for 循环和 for 循环)中运行,所以我认为它是 n^2+1。那是对的吗? 对于第 8 行,它有 3 个常量,运行时间为 n^2。它是否正确?我不太确定第 8 行。这就是我得到 f(n) = 5n^2 + 4n + 8 的方式! 请帮我完成这个问题! 我想知道我的工作是否正确!
谢谢
【问题讨论】:
-
for I from - to n do?-的位置是什么?
标签: algorithm big-o time-complexity asymptotic-complexity