算法导论 3-4

来源:互联网 发布:树莓派3 查看网络 编辑:程序博客网 时间:2024/05/19 12:40

问题

设f(n)和g(n)为渐近正函数。证明或否定以下的假设:
  1. f(n)=O(g(n)) imply g(n) = O(f(n)
  2. f(n)=O(g(n)) imply lg(f(n))=O(lg(g(n))), lg(g(n))>=1 and f(n)>=1 when n is big enough
  3. f(n)=O(g(n)) imply
  4. f(n)=O(g(n)) imply

分析

  1. 显然不成立
  2. 不成立。例如f(n)=n,g(n)=1
  3. 成立。在题设条件下,对数运算时单调增函数,所以取对数不影响两个函数的关 系
  4. 不成立。例如f(n)=n,g(n)=n/2。
  5. 不成立。如果f(n)在定义域上小于1就不能成立,例如f(n)=arctg(n)/4
  6. 成立。根据转置对称性
  7. 不正确。例如指数运算
  8. 成立。设g(n)=o(f(n)),对任意正常数c,存在n0,当n>=n0时,0<=g(n)<=cf(n)
    则此时,f(n)<=f(n)+g(n)<=f(n)+cf(n)=(c+1)f(n),得证
原创粉丝点击