第二章算法分析

1.本章重点:
  1. 如何估计一个程序所需要的时间;
  2. 如何将一个程序的运行时间从天或年降低到秒甚至更少;
  3. 粗心使用递归的后果;
  4. 将一个数自乘得到其幂, 以及计算两个数的最大公因数的非常有效的算法;
2.基本概念:
  1. 如果存在正常数c和n0使得当N≥n0时T(N)≤cf(N),则记为T(N)=O(f(N)).
  2. 如果存在正常数c和n0使得当N≤n0时T(N)≥cg(N),则记为T(N)=Ω(g(N)).
  3. T(N)=θ(h(N))当且仅当T(N)=O(f(N))和T(N)=Ω(g(N)).
  4. 如果对每一正常数c都存在常熟n0使得当N>n0时 T(N) < cp(N),则T(N)=O(p(N)).有时也可以说,如果T(N)=O(f(N)).且T(N)≠Ω(g(N)),则记为T(N)=θ(h(N)).
3.重要结论:

这里写图片描述
2. 如果T1(N) = O(f(N))且T2(N) = O(g(N)), 则
1). T1(N) + T2(N) = O(f(N)+g(N));
2). T1(N) * T2(N) = O(f(N)*g(N));

4.一般法则:
  1. 分析的基本策略是从内部(或最深层部分)向外展开工作的.
5.定理:
  1. 如果M > N, 则 M mod N < M/2;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值