第2章:算法效率分析——《算法笔记

1.分析框架

时间效率,空间效率

算法输入规模n的函数

选择度量方法

数字算法:二进制位数

增长次数

时间度量:

基本操作的执行次数

最优,最差,

平均效率:输入的概率分布

摊销效率:多次运行时高成本被摊销到各个调用中

输入规模趋于无限大时,运行时间函数的增长

2.渐进符号,基本效率类型

上界,下界,渐进界

加,乘运算,求极限

效率类型:常数,对数,线性,线性对数,多项式,指数,阶乘

3.非递归算法数学分析

1.确定输入规模的衡量方式

2.找出基本操作

3.确定基本操作的执行次数

4.求和

5.得到闭合公式,增长次数

4.递归算法的数学分析

递推式+初始条件

解递推式

递归简洁,但掩盖了可能的低效率

 例题补充!!!

习题

改进排序算法,使之适应已排序情况

排序算法的最优情况

基于极限比较,确定给定复杂度的增长速度(介于哪两种增长方式)

名人问题:n-1入边且没有出边的节点

斐波那契数列衍生问题:

爬梯子

数列奇偶个数:重复序列

基于递归算法F(n)调用F(0)与F(1)的次数:本质:递归树展开成F(1)节点树,继续展开成F(0)与F(1)节点树

连续的F(n-1),F(n) 作为gcd的输入,求模次数

边长为F(n-1)与F(n)的矩形,分解为一系列正方形,相同正方形数目≤2

在排序中计数比较次数

原文地址:https://www.cnblogs.com/qmcj/p/9096039.html