数据结构与算法分析-第二章-算法分析

本文分析了算法的时间复杂度,重点讨论了最大子序和问题的动态规划解法,以及二分查找、欧几里得定理和快速幂等算法的应用。此外,还涉及到了算法效率的比较和习题解析。
摘要由CSDN通过智能技术生成

数据结构与算法分析-第二章-算法分析

这一章的讨论内容:

  1. 如何估计一个程序的运行时间
  2. 如何将一个程序的运行时间从天或年降低到秒
  3. 粗心使用递归的后果
  4. 将一个数自乘得到其幂以及计算两个数的最大公因数的非常有效的算法c

2.1数学基础

符号 含义
T ( n ) = Ω ( f ( n ) ) T(n)=\Omega(f(n)) T(n)=Ω(f(n)) T ( n ) T(n) T(n)的增长率大于等于 f ( n ) f(n) f(n)
T ( n ) = ω ( f ( n ) ) T(n)=\omega(f(n)) T(n)=ω(f(n)) T ( n ) T(n) T(n)的增长率大于 f ( n ) f(n) f(n)
T ( n ) = Θ ( f ( n ) ) T(n)=\Theta(f(n)) T(n)=Θ(f(n)) T ( n ) T(n) T(n)的增长率等于 f ( n ) f(n) f(n)
T ( n ) = o ( f ( n ) ) T(n)=o(f(n)) T(n)=o(f(n)) T ( n ) T(n) T(n)的增长率小于 f ( n ) f(n) f(n)
T ( n ) = O ( f ( n ) ) T(n)=O(f(n)) T(n)=O(f(n)) T ( n ) T(n) T(n)的增长率小于等于 f ( n ) f(n) f(n)

法则3: l o g k N = O ( N ) log^kN=O(N) logkN=O(N),这足以说明对数级别的增长是多么缓慢

由法则3可得: O ( N 2 l o g ( N ) ) 与 O ( N 2 ) O(N^2log(N))与O(N^2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值