来源:我的博客站 OceanicKang |《C++ 数据结构(一)绪论(5)迭代与递归(1)》
To iterate is human, to recurse, divine.
迭代乃人工,递归方神通
数组求和:迭代
问题
计算任意 n 个整数之和
实现
逐一取出每个元素,累加之
int sum(int A[], int n)
{
int sum = 0; // O(1)
for (int i = 0; i < n; i++) sum += A[i]; // O(n)
return sum; // O(1)
}
分析
无论 A[] 内容如何,都有:
T ( n ) = 1 + n ∗ 1 + 1 = n + 2 = O ( n ) = Ω ( n ) = Θ ( n ) T(n) = 1 + n * 1 + 1 = n + 2 = O(n) = \Omega (n) = \Theta (n) T(n)=