则(3)式转换为:
C1*max(g1,g2) <= t1(n)+t2(n) <=c2*2max(g1,g2) 所以当c1=min(a1,b1),c2=2c2=2max(c1,c2),n0=max(n1,n2)时,当n>=n0时上述不等式成立。 证毕。 习题2.2 2. 请用
的非正式定义来判断下列断言是真还是假。
a. n(n + 1)/2 ∈ O(n3) b. n(n + 1)/2 ∈ O(n2) c. n(n + 1)/2 ∈ Θ(n3) d. n(n + 1)/2 ∈ Ω(n) 答:c假,其它真。
5.按照下列函数的增长次数对它们进行排列(按照从低到高的顺序) (n?2)!, 5lg(n+100)10, 22n, 0.001n4+3n3+1, ln2 n,
, 3n.
答:习题2.3
1. 计算下列求和表达式的值。
答
:
3. 考虑下面的算法。
a. 该算法求的是什么? b. 它的基本操作是什么? c. 该基本操作执行了多少次?
d. 该算法的效率类型是什么?
e. 对该算法进行改进,或者设计一个更好的算法,然后指出它们的效率类型。如果做不到这一点,请试着证明这是不可能做到的。
9.证明下面的公式:
可以使用数学归纳法,也可以像10岁的高斯一样,用洞察力来解决该问题。这个小学生长大以后成为有史以来最伟大的数学家之一。 数学归纳法:
高斯的方法:
习题2.4
1. 解下列递推关系 (做a,b) a.
?x(n)?x(n?1)?5当n>1时 ??x(1)?0 解:
b. 解:
?x(n)?3x(n?1)??x(1)?4当n>1时
2. 对于计算n!的递归算法F(n),建立其递归调用次数的递推关系并求解。