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

数据结构-算法评价.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构-算法评价

1.3.3 时间复杂度分析(时间复杂度数量级结论) 第一章 绪论 1.3 算法评价 实例4: i=1;while ( i=n ) { j=1; while(j=i) { application code; j++; } i++; } 运行次数为:1+2+3+……+n n*(n+1)/2 =(n2+n)* 0.5 f(n)= n2+n O(n)= n2 * * 算法复杂度分析 第一章 绪论 思考题 1 为指定的算法复杂度从低到高排序 nlog2n n+n2+n3 24 n0.5 * * 算法复杂度分析 第一章 绪论 思考题 2 确定算法的O(n) (时间复杂度数量级) 6log2n+9n 5n5/2+n2/5 3n4+nlog2n 5n2+n3/2 * * 算法复杂度分析 第一章 绪论 思考题3 确定的算法的O(n),设 doit(…)的复杂度为O(n)=n2 i=1; While (in ) { do_it(….); i = i * 2; } * * 算法复杂度分析 第一章 绪论 思考题4 对冒泡排序和选择排序算法进行时间复杂度分析,给出两个算法的时间复杂度数量级。 确定冒泡排序和选择排序算法的核心过程(伪代码)。 进行简单操作分析。 确定算法的时间复杂度数量级。 * * 算法复杂度分析 第一章 绪论 思考题 5 三个学生对同一问题写的算法,测试结果如下: Case1: n=10的运行时间为 student1: 1 student2: 1/100 student3: 1/1000 * * 算法复杂度分析 第一章 绪论 思考题 5 Case1: n=10的运行时间为 student1: 1 student2: 1/100 student3: 1/1000 Case2: n=100的运行时间为 student1: 10 student2: 1 student3: 1 * * 算法复杂度分析 第一章 绪论 思考题 5 讨论:那一个算法最好? 那一个算法最糟? 为什么? * * 算法复杂度分析 * * Turing:一种不受存储限制,进行理想操作的,虚拟计算机 1.3.3 时间复杂度分析(基本概念) 第一章 绪论 1.3 算法评价 元操作 逻辑计算机提供的基本操作。 设提供元操作 k 种: O1,O2,……Ok * * 算法复杂度分析 1.3.3 时间复杂度分析(基本概念) 第一章 绪论 1.3 算法评价 元操作时间 K 种元操作各自占用时间为: t1,t2,……tk * * 算法复杂度分析 1.3.3 时间复杂度分析(基本概念) 第一章 绪论 1.3 算法评价 算法A中元操作Oi的操作次数 ei(N) N---问题的规模 * * 算法复杂度分析 1.3.3 时间复杂度分析(基本概念) 第一章 绪论 1.3 算法评价 算法时间复杂度: 算法所对应的元操作所消耗的时间 算法元操作所进行的次数(时间复杂度) 问题的规模: 求解问题算法时所输入的数据量 * * 算法复杂度分析 1.3.3 时间复杂度分析(基本概念) 第一章 绪论 1.3 算法评价 算法A的时间消耗 T(N)=t1e1(N)+t2e2(N)+……+tkek(N) 算法A的时间复杂度 T(N)=e1(N)+e2(N)+……+ek(N) * * 算法复杂度分析 1.3.3 时间复杂度分析(基本概念) 第一章 绪论 1.3 算法评价 通过分析: 完成算法所需要的时间,与实现算法的 基本操作的次数、算法的规模有关。 算法的时间复杂度是问题规模的函数:

文档评论(0)

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

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

1亿VIP精品文档

相关文档