分析迭代算法:基本操作,执行的基本操作数和类O(...)算法属于?

时间:2014-02-06 18:48:45

标签: algorithm math

有人可以清楚地向我解释如何回答这个问题,我一直在争论它吗?

问题说:

设X和Y为n个数的两个数组。下面的算法计算阵列上的各种表达式。分析每种算法的时间复杂度并找到:

i)算法的基本操作是什么?

ii)执行基本操作的次数是多少次?

iii)算法所属的类O(..)是什么?

X+Y

ALGORITHM addArrays(X[0..n-1],Y[0..n-1)

//Input: Two arrays X and Y of n numbers

//Output: Array S= X +Y

For i <--0 to n-1 do

           S[i] <-- X[u] + Y[i]
Output S[0 . . n-1]

1 个答案:

答案 0 :(得分:0)

i)添加两个输入数组并返回sum数组(S)。这是循环内部的行,它在循环的每次迭代中添加每个输入数组的条目。

ii)n次,因为你只需要进行n次加法操作..

iii)O(n)因为你总共只经历了n个元素(2n次访问,但那是O(n))。