《算法设计与分析基础》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)的函数集合![](http://images.cnblogs.com/cnblogs_com/chio/WindowsLiveWriter/Chapt2_D393/2_1_thumb.jpg)
![](http://images.cnblogs.com/cnblogs_com/chio/WindowsLiveWriter/Chapt2_D393/2_2_thumb.jpg)
Ω (g(n))是增长次数大于等于g(n)的函数集合
![](http://images.cnblogs.com/cnblogs_com/chio/WindowsLiveWriter/Chapt2_D393/2_3_thumb.jpg)
Θ(g(n))是增长次数等于g(n)的函数集合
2.2.2 符号Ο
2.2.5 渐进符号的有用特性
![](http://images.cnblogs.com/cnblogs_com/chio/WindowsLiveWriter/Chapt2_D393/theory1_thumb.jpg)
2.2.6 利用极限比较增长次数
![](http://images.cnblogs.com/cnblogs_com/chio/WindowsLiveWriter/Chapt2_D393/formula1_thumb.jpg)
前两种情况:
![](http://images.cnblogs.com/cnblogs_com/chio/WindowsLiveWriter/Chapt2_D393/t1_thumb.jpg)
后两种情况:
![](http://images.cnblogs.com/cnblogs_com/chio/WindowsLiveWriter/Chapt2_D393/t2_thumb.jpg)
第二种情况:
![](http://images.cnblogs.com/cnblogs_com/chio/WindowsLiveWriter/Chapt2_D393/t3_thumb.jpg)
2.2.7 基本的效率类型
2.3 非递归算法的数学分析
分析非递归算法效率的通用方案:决定用哪个(些)参数作为输入规模的度量
找出算法的基本操作(作为一个规律,它总是位于算法的最内层循环)
检查基本操作的执行次数是否只依赖输入规模。如它还依赖一些其他的特性,如输入顺序等,则最差效率、平均效率以及最优效率需要分别研究。
建立一个算法基本操作执行次数的求和表达式
利用求和运算的标准公式和法则来建立一个操作次数的闭合公式,或至少确定它的增长次数。
求和运算的两个基本规则:
![](http://images.cnblogs.com/cnblogs_com/chio/WindowsLiveWriter/Chapt2_D393/formula2_thumb.jpg)
两个常见求和公式:
![](http://images.cnblogs.com/cnblogs_com/chio/WindowsLiveWriter/Chapt2_D393/formula3_thumb.jpg)
2.4 递归算法的数学分析
用递推式的形式来表达基本操作次数决定用那些参数作为输入规模的度量
找出算法的基本操作
检查一下,对于相同规模的不同输入,基本操作的执行次数是否不同。如果不同,则必须对最差效率、平均效率以及最优效率作单独研究
对于算法基本操作的执行次数,建立一个递推关系以及相应的初始条件
解这个递推式,或者至少确定它的解的增长次数
相关文章推荐
- 【算法设计与分析基础】8、穷举 旅行商问题
- 算法分析的基础知识
- 数据结构基础 算法复杂度分析(一) 概念篇
- 一步步学习数据结构和算法之归并排序效率分析及java实现
- 算法系列:算法效率分析
- Python八大常见排序算法定义、实现及时间消耗效率分析
- 算法分析基础
- 数据结构与算法学习总结-算法分析基础
- 【算法设计与分析基础】8、背包问题
- 第1周第2节课 算法及其描述、算法分析基础
- 算法分析的数学基础
- 经典算法 | n皇后问题易理解算法和最高效率算法分析
- 数据压缩试验三 Huffman 编解码算法实现与压缩效率分析
- 算法分析与设计基础 学习笔记 第一章
- 算法课堂笔记1—算法分析的数学基础
- 重拾算法(一):算法效率分析(空间复杂度和时间复杂度)
- 一步步学习数据结构和算法之堆排序效率分析及java实现
- 算法分析:如何分析一个算法的效率好坏?
- 算法时间复杂度分析基础
- 算法与数据结构基础系列(一): 链表的常见问题分析及实现