计算机算法基础
第一章:数学预备知识
集合、计数方法、母函数、级数求和。
母函数
在解递归关系式中有重要应用。
性质及应用
1.1对于一数列,定义它的母函数为幂级数。不考虑收敛性。广义二项式定理:f(x)=(1+x)a
第二章 导引与基本数据结构
算法的五个重要特性:确定性、能行性、输入、输出、有穷性。
算法的输入规模
- 计算时间/频率计数的表示函数:通过事前分析给出算法计算时间(频率计数)的一个函数表示形式,一般记为与输入规模n有关的函数形式:f(n)
- 空间特性分析:UA(n) = 算法在实例大小为n上运行时,所需要的内存单元数目
- 处理器的特性:如果算法在并行机上运行,则还需要考虑算法对处理器的需求。
计算时间的渐近表示
记:算法的计算时间为f(n),数量级限界函数为g(n)。n是输入或输出规模的某种测度。f(n)表示算法的“实际”执行时间—与机器及语言有关。g(n)是形式简单的函数,如nm,logn,2n,n!等。是事前分析中通过对计算时间或频率计数统计分析所得的、与机器及语言无关的函数。
算法执行时间:上界(О)、下界(Ω)、“平均”( )的定义。
上届函数
如果存在两个正常数c和n0,对于所有的n≥n0,有
|f(n)| ≤ c|g(n)|,记作f(n) = Ο(g(n))
定理:
- 若A(n) = amnm+…+a1n+a0是一个m次多项
式,则有A(n) = Ο(nm)
Ο(1) < Ο(logn) < Ο(n) < Ο(nlogn) < Ο(n2) < Ο(n3)
Ο(2n) < Ο(n!) < Ο(nn)
函数曲线:
下届函数
如果存在两个正常数c和n0,对于所有的n≥n0,有
|f(n)| ≥ c|g(n)|,则记作f(n) = Ω(g(n))
平均函数
c1|g(n)| ≤|f(n)| ≤ c2|g(n)|