第三章 函数的增长
第二节 标准记号与常用函数
单调性
- 若 m⩽n m ⩽ n 蕴涵着 f(m)⩽f(n) f ( m ) ⩽ f ( n ) ,则函数f(n)是单调递增的。类似地,若 m⩽n m ⩽ n 蕴涵着 f(m)⩾f(n) f ( m ) ⩾ f ( n ) ,则函数f(n)是单调递减的。
- 若 m<n m < n 蕴涵着 f(m)<f(n) f ( m ) < f ( n ) ,则函数f(n)是严格递增的。类似地,若 m<n m < n 蕴涵着 f(m)>f(n) f ( m ) > f ( n ) ,则函数f(n)是严格递减的。
向下取整与向上取整
- 对任意实数x,我们用 ⌊x⌋ ⌊ x ⌋ 表示小于或等于x的最大整数,并用 ⌈x⌉ ⌈ x ⌉ 表示大于或等于x的最小整数。
- 对所有实数x, x−1<⌊x⌋⩽x⩽⌈x⌉<x+1 x − 1 < ⌊ x ⌋ ⩽ x ⩽ ⌈ x ⌉ < x + 1 。
- 对任意整数n, ⌈n/2⌉+⌊n/2⌋=n ⌈ n / 2 ⌉ + ⌊ n / 2 ⌋ = n 。
- 对任意实数
x⩾0
x
⩾
0
和整数
a,b>0
a
,
b
>
0
,有下列公式成立:
- ⌈⌈x/a⌉b⌉=⌈xab⌉ ⌈ ⌈ x / a ⌉ b ⌉ = ⌈ x a b ⌉ 。
- ⌊⌊x/a⌋b⌋=⌊xab⌋ ⌊ ⌊ x / a ⌋ b ⌋ = ⌊ x a b ⌋ 。
- ⌈ab⌉⩽a+(b−1)b ⌈ a b ⌉ ⩽ a + ( b − 1 ) b 。
- ⌊ab⌋⩾a−(b−1)b ⌊ a b ⌋ ⩾ a − ( b − 1 ) b 。
- 向下取整函数 f(x)=⌊x⌋ f ( x ) = ⌊ x ⌋ 是单调递增的,向上取整函数 f(x)=⌈x⌉ f ( x ) = ⌈ x ⌉ 也是单调递增的。
模运算
- 对任意整数a和任意正整数n, amodn a mod n 的值就是商a/n的余数: amodn=a−n⌊a/n⌋ a mod n = a − n ⌊ a / n ⌋ ,结果有 0⩽amodn<n 0 ⩽ a mod n < n 。
- 若( amodn a mod n )=( bmodn b mod n ),则记 a≡b(modn) a ≡ b ( mod n ) ,并称模n时a等价于b,当且仅当n是b-a的一个因子时成立;若模n时a不等价于b,则记 a≢b(modn) a ≢ b ( mod n ) 。
多项式
- 给定一个非负整数d,n的d次多项式为具有以下形式的一个函数p(n): p(n)=∑di=0aini p ( n ) = ∑ i = 0 d a i n i ,其中常量 a0,a1,...,ad a 0 , a 1 , . . . , a d 是多项式的系数且 ad≠0 a d ≠ 0 。
- 一个多项式为渐近正的当且仅当 ad>0 a d > 0 。
- 对于一个d次渐近正的多项式p(n),有p(n)=Θ( nd n d )。
- 对任意实常量 a⩾0 a ⩾ 0 ,函数 na n a 单调递增,对任意实常量 a⩽0 a ⩽ 0 ,函数 na n a 单调递减。
- 若对某个常量k,有f(n)=O( nk n k ),则称函数f(n)是多项式有界的。
指数和对数
- 任意底大于1的指数函数比任意多项式函数增长得快。
- 对所有实数x,有泰勒公式: ex=1+x+x22!+x33!+⋅⋅⋅=∑∞i=0xii! e x = 1 + x + x 2 2 ! + x 3 3 ! + · · · = ∑ i = 0 ∞ x i i ! ,即对于所有实数x,不等式 ex⩾1+x e x ⩾ 1 + x 成立,当且仅当x=0时取等号。
- 对于所有x,我们有重要极限: limn→∞(1+xn)n=ex lim n → ∞ ( 1 + x n ) n = e x 。
- 如果常量b>1,那么对n>0,函数 logbn log b n 是严格递增的。
- 对数的底从一个常量到另一个常量的更换仅使对数的值改变一个常量因子,所以默认 logn log n 的底数为2。
- 当|x|<1时, ln(1+x)=x−x22+x33−x44+x55−⋅⋅⋅=(−1)i−1∑∞i=1xii ln ( 1 + x ) = x − x 2 2 + x 3 3 − x 4 4 + x 5 5 − · · · = ( − 1 ) i − 1 ∑ i = 1 ∞ x i i ,即对x>-1,不等式 x1+x⩽ln(1+x)⩽x x 1 + x ⩽ ln ( 1 + x ) ⩽ x 成立,当且仅当x=0时取等号。
- 若对某个常数k,f(n)=O( lgkn lg k n ),则称函数f(n)是多对数有界的。
- 任意正的多项式函数都比任意多对数函数增长得快。
阶乘
- 阶乘函数的一个弱上界是 n!⩽nn n ! ⩽ n n ,因为在阶乘中,n项的每项最多为n。
- 斯特林(Stirling)近似公式: n!=2πn−−−√(ne)n(1+Θ(1n)) n ! = 2 π n ( n e ) n ( 1 + Θ ( 1 n ) ) ,给出了一个更紧确的上界和下界。对所有 n⩾1 n ⩾ 1 ,下面的等式也成立: n!=2πn−−−√(ne)neαn n ! = 2 π n ( n e ) n e α n ,其中 112n+1<αn<112n 1 12 n + 1 < α n < 1 12 n 。
多重函数与多重对数函数
- 我们使用记号 f(i)(n) f ( i ) ( n ) 来表示函数f(n)重复i次作用于一个初值n上。
- 我们使用记号 lg∗n lg ∗ n 来表示多重对数,即从参数n开始,连续应用对数函数的次数,定义多重对数函数为: lg∗n lg ∗ n =min{ i⩾0:lg(i)n⩽1 i ⩾ 0 : lg ( i ) n ⩽ 1 }。
裴波那契数
- 使用递归定义裴波那契数: F0=0,F1=1,Fi=Fi−1+Fi−2(i⩾2) F 0 = 0 , F 1 = 1 , F i = F i − 1 + F i − 2 ( i ⩾ 2 ) ,即每个裴波那契数都是前面两个数之和。
- 裴波那契数与黄金分割率 ϕ ϕ 及其共轭数 ψ ψ 有关,它们是下列方程的两个根: x2=x+1 x 2 = x + 1 ,即 ϕ=1+5√2=1.618⋅⋅⋅ ϕ = 1 + 5 2 = 1.618 · · · , ψ=1−5√2=−0.618⋅⋅⋅ ψ = 1 − 5 2 = − 0.618 · · · ,特别地,我们有: Fi=ϕi−ψi5√ F i = ϕ i − ψ i 5 。
- 因为| ψ ψ |<1,所以有 |ψi|5√<15√<12 | ψ i | 5 < 1 5 < 1 2 ,这蕴含着 Fi=⌊ϕi5√+12⌋ F i = ⌊ ϕ i 5 + 1 2 ⌋ ,也就是说,第i个裴波那契数等于 ϕi5√ ϕ i 5 舍入到最近的整数,因此,裴波那契数以指数形式增长。