一、课后习题
3.1-1 假设与
都是渐近非负函数。使用
记号的基本定义来证明
不妨假设 , 要证明
, 即证明存在正常量
和
使得
,因此当
=1/2,
=1 时,上式成立,得证。
3.1-2 证明:对任意实常量a和b,其中b>0,有
要证明, 即证明 存在正常量
和
使得
,取
=1和
即成立,得证。
3.1-3 解释为什么“算法A的运行时间至少是”这一表述是无意义的。
因为的含义是函数的紧确上界为
,说算法A的运行时间至少是
指出的是下界,因此这一表述是无意义的。
3.1-4 成立吗?
成立吗?
成立
不成立,因为不存在
使得
3.1-5 证明定理 对任意两个函数和
,我们有
,当且仅当
且
首先证明 可以推出
和
,由于
表示 存在正常量
和
使得
,即
和
成立,因此
和
成立
其次证明当和
时,
, 由于
表示
,
表示
,因此
,即
, 得证。
3.1-6 证明:一个算法的运行时间为当且仅当其最坏情况运行时间为
,且其最好情况运行时间为
一个算法的运行时间为,即表示这个算法的运行时间
, 由3.1-5提到的定理可得,
并且
, 因此该算法的下界(最好情况运行时间)为
,上界(最坏情况运行时间)为
3.1-7 证明:为空集
根据定义, 代表的集合是
对任意正常量
,存在常量
,使得对所有
,有
代表的集合是
对任意正常量
,存在常量
,使得对所有
,有
用反证法,假设存在一个函数f(n) 同时满足上述两个条件,即 并且
同时成立,由于和均为正常量,定义要求对任意正常量c 均满足不等式,因此上述两式引发出矛盾,
,因此假设不成立,得证。
3.1-8 可以扩展我们的记号到有两个参数n和m的情形,其中的n和m可以按不同速率独立第趋于无穷。对于给定的函数,用
来表示以下函数集:
存在正常量
和
,使得对于所有
或
,有
对和
给出相应的定义
存在正常量
和
,使得对于所有
或
,有