数据结构课件代码第1章绪论482章节.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于实验报告 电子版形式 统一实验报告格式 每次实验写一个实验报告 每次实验报告在下次上课前提交 实验报告文档命名 个人word文档命名方式例子: “实验1-班级-学号-名字.doc” 按班级统一压缩文档命名方式例子: “实验1-班级.rar” 按班级统一发到指定邮箱,邮件标题例子: “实验1-班级” 每次实验登记“学习登记表”,并一同发送到指定邮箱 实验报告内容要求 问题描述、算法描述、附加了足够注释的程序代码 算法中使用的函数、过程、参数、变量的命名要能表示含义 注意算法格式(层次嵌套、不同功能块之间留空) 实验报告评分标准 文档命名 报告封面内容是否齐全 报告格式是否正确 报告内容是否齐全 报告内容是否正确 如何估算算法的时间复杂度? 从算法中选取一种对所研究的问题来说执行最频繁的基本操作为原操作, 当问题规模 n 相当大时, 该原操作执行时间占算法总执行时间的绝大部分, 所以, 把该原操作在算法中重复执行的次数 (频度) 作为算法运行时间的衡量准则。 可近似认为:算法的执行时间 与 原操作的频度 成正比 估算时间复杂度时取频度的阶次 时间复杂度 n 问题规模,一般为数据的输入量 算法的时间复杂度 算法中各语句的频度之和T(n) T(n)=O( f(n) ) 大O表示法 时间复杂度 O的含义 存在正的常数c和n0,使得当n ? n0时, 0? T(n) ? c* f(n) 表示随着问题规模 n 的增长, 算法执行时间的增长率和 f(n) 的增长率相同, 称 T(n) 为算法的渐近时间复杂度,简称时间复杂度,即, 当n→∞ 时 T (n) /f(n)→常数 。 常用的时间复杂度频率计数 算法中常用的时间复杂度频率计数有7种: 时间复杂度曲线 O(1)O(log2n)<O(n)<O(nlog2n)<(n2)<O(n3)<<O(2n) 时间复杂度计算步骤 时间复杂度的求法 计算T(n) 从T(n)中推断f(n) 影响算法时间复杂度的因素 问题的规模 输入实例的初态 最坏时间复杂度 定义: 算法在最坏情况下的时间复杂度,即为分析估计算法在最坏情况下执行时间的上界。 空间复杂度度量 存储空间的固定部分 程序指令代码的空间,常数、简单变量、定长成分(如数组元素、结构成分、对象的数据成员等)变量所占的空间 可变部分 尺寸与实例特性有关的成分变量所占空间、引用变量所占空间、递归栈所用的空间、通过malloc和free命令动态使用的空间 若输入数据所占空间只取决于问题本身,和算法无关,则只需要分析除输入和程序之外的辅助变量所占额外空间。 若所需额外空间相对于输入数据量来说是常数,则称此算法为原地工作. 若所需存储量依赖于特定的输入, 则通常按最坏情况考虑。 数据结构---第1章 绪论 * 一些约定 1)预定义常量和类型: //函数结果状态代码 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 //Status作为函数的类型,其值是函数结果状态代码 typedef int Status; 2)数据元素类型约定为ElemType,使用时按需定义 数据结构---第1章 绪论 * 1.3.3 算法分析 ——算法效率的度量 一个具体问题的数据对象往往可以采用多种存储方式的一种,一个问题的解决又常常有多种可用的算法。 数据结构---第1章 绪论 * 通常有两种衡量算法效率的方法: 事后统计法 利用计算机内记时功能,不同算法的程 序可以用一组或多组相同的统计数据区分 事前分析估算法 时间复杂度(渐进时间复杂度) 空间复杂度 缺点:必须执行程序 其它因素掩盖算法本质 和算法执行时间相关的因素 (1).程序运行时所需输入的数据总量 (问题规模) (2).对源程序进行编译所需时间 (3).计算机执行每条指令所需时间 (4).程序中指令重复执行的次数 O(1)常数型 O(n)线性型 O(n2)平方型 O(n3)立方型 O(2n)指数型 O(log2n)对数型 O(nlog2n)二维型 按时间复杂度由小到大排列的频率表为: 数据结构---第1章 绪论 * [例1] 交换i和j的内容 (1) temp=i; (2) i=j; (3)

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档