一、课后习题
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可以按不同速率独立第趋于无穷。对于给定的函数,用来表示以下函数集:
存在正常量 和 ,使得对于所有或,有
对和给出相应的定义
存在正常量 和 ,使得对于所有或,有
存在正常量 和 ,使得对于