您的位置:首页 > 其它

第二章算法分析

2017-02-21 08:39 162 查看
[b]1.本章重点:[/b]

如何估计一个程序所需要的时间;

如何将一个程序的运行时间从天或年降低到秒甚至更少;

粗心使用递归的后果;

将一个数自乘得到其幂, 以及计算两个数的最大公因数的非常有效的算法;

[b]2.基本概念:[/b]

如果存在正常数c和n0使得当N≥n0时T(N)≤cf(N),则记为T(N)=O(f(N)).

如果存在正常数c和n0使得当N≤n0时T(N)≥cg(N),则记为T(N)=Ω(g(N)).

T(N)=θ(h(N))当且仅当T(N)=O(f(N))和T(N)=Ω(g(N)).

如果对每一正常数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)).

[b]3.重要结论:[/b]



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));

[b]4.一般法则:[/b]

分析的基本策略是从内部(或最深层部分)向外展开工作的.

[b]5.定理:[/b]

如果M > N, 则 M mod N < M/2;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: