算法导论个人笔记版第三章(二)

本文探讨了函数的增长特性,包括单调性、向下取整与向上取整的概念,以及模运算、多项式、指数与对数函数的性质。还讨论了阶乘、多重函数、多重对数函数及裴波那契数的相关内容。

第三章 函数的增长

第二节 标准记号与常用函数


  • 单调性

    • mnm⩽n蕴涵着f(m)f(n)f(m)⩽f(n),则函数f(n)是单调递增的。类似地,若mnm⩽n蕴涵着f(m)f(n)f(m)⩾f(n),则函数f(n)是单调递减的。
    • m<nm<n蕴涵着f(m)<f(n)f(m)<f(n),则函数f(n)是严格递增的。类似地,若m<nm<n蕴涵着f(m)>f(n)f(m)>f(n),则函数f(n)是严格递减的。
  • 向下取整与向上取整

    • 对任意实数x,我们用x⌊x⌋表示小于或等于x的最大整数,并用x⌈x⌉表示大于或等于x的最小整数。
    • 对所有实数x,x1<xxx<x+1x−1<⌊x⌋⩽x⩽⌈x⌉<x+1
    • 对任意整数n,n/2+n/2=n⌈n/2⌉+⌊n/2⌋=n
    • 对任意实数x0x⩾0和整数ab>0a,b>0,有下列公式成立:
      • x/ab=xab⌈⌈x/a⌉b⌉=⌈xab⌉
      • x/ab=xab⌊⌊x/a⌋b⌋=⌊xab⌋
      • aba+(b1)b⌈ab⌉⩽a+(b−1)b
      • aba(b1)b⌊ab⌋⩾a−(b−1)b
    • 向下取整函数f(x)=xf(x)=⌊x⌋是单调递增的,向上取整函数f(x)=xf(x)=⌈x⌉也是单调递增的。
  • 模运算

    • 对任意整数a和任意正整数n,amodnamodn的值就是商a/n的余数amodn=ana/namodn=a−n⌊a/n⌋,结果有0amodn<n0⩽amodn<n
    • 若(amodnamodn)=(bmodnbmodn),则记ab(modn)a≡b(modn),并称模n时a等价于b,当且仅当n是b-a的一个因子时成立;若模n时a不等价于b,则记a≢b(modn)a≢b(modn)
  • 多项式

    • 给定一个非负整数d,n的d次多项式为具有以下形式的一个函数p(n):p(n)=di=0ainip(n)=∑i=0daini,其中常量a0a1...ada0,a1,...,ad是多项式的系数且ad0ad≠0
    • 一个多项式为渐近正的当且仅当ad>0ad>0
    • 对于一个d次渐近正的多项式p(n),有p(n)=Θ(ndnd)。
    • 对任意实常量a0a⩾0,函数nana单调递增,对任意实常量a0a⩽0,函数nana单调递减。
    • 若对某个常量k,有f(n)=O(nknk),则称函数f(n)是多项式有界的。
  • 指数和对数

    • 任意底大于1的指数函数比任意多项式函数增长得快
    • 对所有实数x,有泰勒公式:ex=1+x+x22!+x33!+=i=0xii!ex=1+x+x22!+x33!+···=∑i=0∞xii!,即对于所有实数x,不等式ex1+xex⩾1+x成立,当且仅当x=0时取等号。
    • 对于所有x,我们有重要极限:limn(1+xn)n=exlimn→∞(1+xn)n=ex
    • 如果常量b>1,那么对n>0,函数 logbnlogb⁡n是严格递增的。
    • 对数的底从一个常量到另一个常量的更换仅使对数的值改变一个常量因子,所以默认lognlog⁡n的底数为2
    • 当|x|<1时,ln(1+x)=xx22+x33x44+x55=(1)i1i=1xiiln⁡(1+x)=x−x22+x33−x44+x55−···=(−1)i−1∑i=1∞xii,即对x>-1,不等式x1+xln(1+x)xx1+x⩽ln⁡(1+x)⩽x成立,当且仅当x=0时取等号。
    • 若对某个常数k,f(n)=O(lgknlgk⁡n),则称函数f(n)是多对数有界的。
    • 任意正的多项式函数都比任意多对数函数增长得快
  • 阶乘

    • 阶乘函数的一个弱上界是n!nnn!⩽nn,因为在阶乘中,n项的每项最多为n。
    • 斯特林(Stirling)近似公式:n!=2πn(ne)n(1+Θ(1n))n!=2πn(ne)n(1+Θ(1n)),给出了一个更紧确的上界和下界。对所有n1n⩾1,下面的等式也成立:n!=2πn(ne)neαnn!=2πn(ne)neαn,其中112n+1<αn<112n112n+1<αn<112n
  • 多重函数与多重对数函数

    • 我们使用记号f(i)(n)f(i)(n)来表示函数f(n)重复i次作用于一个初值n上。
    • 我们使用记号lgnlg∗⁡n来表示多重对数,即从参数n开始,连续应用对数函数的次数,定义多重对数函数为:lgnlg∗⁡n=min{i0lg(i)n1i⩾0:lg(i)⁡n⩽1}。
  • 裴波那契数

    • 使用递归定义裴波那契数:F0=0F1=1Fi=Fi1+Fi2(i2)F0=0,F1=1,Fi=Fi−1+Fi−2(i⩾2),即每个裴波那契数都是前面两个数之和。
    • 裴波那契数与黄金分割率ϕϕ及其共轭数ψψ有关,它们是下列方程的两个根:x2=x+1x2=x+1,即ϕ=1+52=1.618ϕ=1+52=1.618···ψ=152=0.618ψ=1−52=−0.618···,特别地,我们有:Fi=ϕiψi5Fi=ϕi−ψi5
    • 因为|ψψ|<1,所以有|ψi|5<15<12|ψi|5<15<12,这蕴含着Fi=ϕi5+12Fi=⌊ϕi5+12⌋,也就是说,第i个裴波那契数等于ϕi5ϕi5舍入到最近的整数,因此,裴波那契数以指数形式增长。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值