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

2.1 分析框架

2.1.1 输入规模的度量
  • 大多数情况,以输入数n
  • 矩阵,维数
  • 数值算法,数字的比特数
2.1.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)的函数集合

2_1

2_2

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

2_3 

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

2.2.2 符号Ο
2.2.5 渐进符号的有用特性

theory1

2.2.6 利用极限比较增长次数

 formula1

前两种情况:t1

后两种情况:t2

第二种情况:t3

2.2.7 基本的效率类型

2.3 非递归算法的数学分析

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

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

求和运算的两个基本规则:

formula2

两个常见求和公式:

formula3

2.4 递归算法的数学分析

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

  1. 决定用那些参数作为输入规模的度量
  2. 找出算法的基本操作
  3. 检查一下,对于相同规模的不同输入,基本操作的执行次数是否不同。如果不同,则必须对最差效率、平均效率以及最优效率作单独研究
  4. 对于算法基本操作的执行次数,建立一个递推关系以及相应的初始条件
  5. 解这个递推式,或者至少确定它的解的增长次数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值