网站大量收购独家精品文档,联系QQ:2885784924

概论数据结构讲解.ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * Z=a+bi, a实部,b虚部,i虚部单位 (a+bi)+(c+di)=(a+c)+(b+d)i * * * * 最好运行时间 通常不考虑 最坏情况经常发生,最坏时间与平均时间相当 当算法最好与最坏时间相差很大(不在一个数量级),就要用平均时间 对于时间开销,一般不注意算法的“最好估计” 。特别是处理应急事件,计算机系统必须在规定的响应时间内做完紧急事件处理。这时,最坏估计是唯一的选择 对于多数算法而言,最坏情况和平均情况估计两者,它们的时间开销的公式虽然不同,但是往往只是常数因子大小的区别,或者常数项的大小区别。因此不会影响渐进分析的增长率函数估计 * * * 1、f(n)=?logn2=2logn,与g(n)同阶,所以f(n)=Θ (g(n)) 2、当n=8时,f(n)g(n),故f(n)=Ω (g(n)) 3、f(n)的阶数不低于g(n)的阶,所以f(n)=Ω (g(n)) 4、当n=0时,f(n)=g(n),所以f(n)=O(g(n))? * 算法分析举例:Insertion-Sort 最好情况:如果输入序列已经有序,则tj = 1 算法分析举例:Insertion-Sort 最坏情况:如果输入序列为降序,则tj = j 平均情况:与数据的概率分布有关,假设对 所有j=2,3…n 有tj=j/2 复杂性渐近性态 算法渐进分析:估计,当数据规模 n逐步增大时,资源开销T(n)的增长趋势 在算法分析过程中,通过抽象来简化分析过程,忽略每个语句的实际开销,代之以抽象的常数Cj; 不但忽略每个语句的实际开销,将若干个Ci的累加和抽象成常数a 对运行时间的增长量级(速度)感兴趣,只考虑运行时间表达式中的首项(比如,n2) 忽略首项系数,如,插入排序的最坏情况运行时间(又称最坏情况时间复杂度)为Θ(n2) 如: 常见函数增长率比较 常见函数增长率比较 常见函数增长趋势图例 渐近表示法 为了更清晰地表示算法运行时间的增长率,引入渐近记号: 渐近记号Θ Θ-notation: 定义:给定一个函数g(n), Θ(g(n))表示一个函数集合 Θ(g(n))={f(n) |存在正常数C1,C2和n0使得当n≥ n0,均有0≤C1g(n) ≤f(n)≤C2g(n)成立}。 f(n)∈Θ(g(n)) → f(n)=Θ(g(n)) g(n)是f(n)的渐紧界 f(n)=Θ(g(n))表明,当n→∞时,f(n)和g(n)趋于无穷大的阶是相同的。 f(n)和g(n)均是渐近非负的,即:对足够大的n, f(n)和g(n)均大于等于0 记号Θ(1)可认为是Θ(n0) 渐近记号Θ 图中的n0点的精确值一般难以得到, 在分析和证明过程中可以用一个大于n0而且易于求得的值n1替代 渐近记号Θ 例子:n2/2-3n= Θ(n2) 证明:需要选择正常数C1,C2和n0满足 C1n2≤n2/2-3n ≤ C2 n2 我们选择C1=1/6,C2=1,n0=9 在证明中, C1,C2和n0的选取可以有多种不同的方式, 可取各种不同的值,例如在上题中可以取C1=1/4,C2=1/2,n0=12 ,也同样可以证明。 渐近记号O O-notation: 定义:给定一个函数g(n), O(g(n))表示一个函数集合 O(g(n))={f(n) |存在正常数C 和n0 使得当n≥ n0,均有0≤f(n)≤Cg(n)成立}。 f(n)∈O(g(n)) → f(n)=O(g(n)) g(n)是f(n)的渐近上界 f(n)=O(g(n))表明,当n→∞时,f(n)趋于无穷大的阶不大于(即小于等于)g(n)趋于无穷大的阶。 若f(n)=Θ(g(n)),则一定有f(n)=O(g(n)),反之不成立 渐近记号O The curves for f(n)=O(g(n)) 渐近记号O 例子:an3+bn2+cn+d= O(n3), a0 例子:an2+bn+c= O(n3), a0 例子:nlgn=O(n2), 但是 nlgn≠Θ(n2) 渐近记号Ω Ω-notation: 定义:给定一个函数g(n),Ω(g(n))表示一个函数集合 Ω(g(n))={f(n)|存在正常数C和n0使得当n≥ n0,均有0≤Cg(n)≤f(n)成立}。 f(n)∈Ω(g(n)) → f(n)=Ω(g(n)) g(n)是f(n)的渐近下界 f(n)= Ω(g(n))表明,当n→∞时,f(n)趋于无穷大的阶不小于(即大于等于)g(n)趋于无穷大的阶。 若f(n)=Θ(g(n)),则一定有f(n)=Ω(g(n

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档