您的位置:首页 > 其它

《算法设计与分析基础》Chapt 2 算法效率分析基础

2007-11-06 15:03 369 查看

2.1 分析框架

2.1.1 输入规模的度量

大多数情况,以输入数n 矩阵,维数 数值算法,数字的比特数

2.1.2 运行时间的度量单位

找出算法中最重要的操作,即基本操作 计算他们的运行次数

2.1.3 增长次数

logn n nlogn n2 n3 2n n!

2.1.4 算法的最优、最差和平均效率

最优效率
最差效率
平均效率
摊销效率

2.2 渐进符号和基本效率类型

2.2.1 介绍Ο,Ω,Θ

Ο (g(n))是增长次数小于等于g(n)的函数集合









Ω (g(n))是增长次数大于等于g(n)的函数集合





Θ(g(n))是增长次数等于g(n)的函数集合

2.2.2 符号Ο

2.2.5 渐进符号的有用特性





2.2.6 利用极限比较增长次数





前两种情况:



后两种情况:



第二种情况:



2.2.7 基本的效率类型

2.3 非递归算法的数学分析

分析非递归算法效率的通用方案:

决定用哪个(些)参数作为输入规模的度量
找出算法的基本操作(作为一个规律,它总是位于算法的最内层循环)
检查基本操作的执行次数是否只依赖输入规模。如它还依赖一些其他的特性,如输入顺序等,则最差效率、平均效率以及最优效率需要分别研究。
建立一个算法基本操作执行次数的求和表达式
利用求和运算的标准公式和法则来建立一个操作次数的闭合公式,或至少确定它的增长次数。
求和运算的两个基本规则:





两个常见求和公式:





2.4 递归算法的数学分析

递推式的形式来表达基本操作次数

决定用那些参数作为输入规模的度量
找出算法的基本操作
检查一下,对于相同规模的不同输入,基本操作的执行次数是否不同。如果不同,则必须对最差效率、平均效率以及最优效率作单独研究
对于算法基本操作的执行次数,建立一个递推关系以及相应的初始条件
解这个递推式,或者至少确定它的解的增长次数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: