自考数据结构第一章绪论分析报告.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 概论 1.2 学习数据结构的意义 例1 书目自动检索系统 例2 人机对奕问题 例3 教学计划编排问题 从上述例子不难看出:解决问题的一个关键步骤是,选取合适的数据结构表示该问题,然后才能写出有效的算法。 1.3 算法的描述和分析 算法执行时间的衡量方法和准则 有两种衡量算法效率的方法: 1.事后统计法:利用计算机内记时功能,用一组或多组相同的统计数据区分。 2.事前分析估计法:求出算法的一个时间界限函数。 (2)时间复杂度:程序运行从开始到结束所需要的时间。 设解决一个问题的规模为n,基本操作被重复执行的次数是n的一个函数 f(n),假如,随着问题规模n的增长,算法执行时间的增长率和f(n)的增长率相同,则可记作: T (n) = O(f(n)) 其中T(n)叫算法的渐进时间复杂度,简称时间复杂度。P8 有穷性:对于任意一组合法输入值,在执行有穷步之后结束,且算法中的每个步骤都能在有限时间内完成; 确定性:每条指令都有确切的含义,在任何条件下算法都只有一条执行路径; 算法五个重要特性: 算法:是对特定问题求解步骤的一种描述,它是指令的有限序列。 可行性:算法中的所有操作都必须足够基本,都可以通过已经实现的基本操作运算有限次实现之; 输入:有零个或多个输入,取自特定的对象集合 输出:有一个或多个输出,是算法进行信息加工后得到的结果。 二、算法分析 1.评价算法好坏的标准   求解同一计算问题可能有许多不同的算法,究竟如何来评价这些算法的好坏以便从中选出较好的算法呢? ??? 选用的算法首先应该是正确的。此外,主要考虑如下三点: ① 执行算法所耗费的时间; ② 执行算法所耗费的存储空间,其中主要考虑辅助存储空间; ③ 算法应易于理解,易于编码,易于调试等等。 2.算法性能选择   一个占存储空间小、运行时间短、其它性能也好的算法是很难做到的。原因是上述要求有时相互抵触:要节约算法的执行时间往往要以牺牲更多的空间为代价;而为了节省空间可能要耗费更多的计算时间。因此我们只能根据具体情况有所侧重: ① 若该程序使用次数较少,则力求算法简明易懂; ② 对于反复多次使用的程序,应尽可能选用快速的算法; ③ 若待解决的问题数据量极大,机器的存储空间较小,则相应算法主要考虑如何节省空间。 3.算法的时间性能分析 (1)算法耗费的时间和语句频度   一个算法所耗费的时间=算法中每条语句的执行时间之和 每条语句的执行时间=语句的执行次数(即频度(Frequency Count))×语句执行一次所需时间 ??? 算法转换为程序后,每条语句执行一次所需的时间取决于机器的指令性能、速度以及编译所产生的代码质量等难以确定的因素。 ??? 若要独立于机器的软、硬件系统来分析算法的时间耗费,则设每条语句执行一次所需的时间均是单位时间,一个算法的时间耗费就是该算法中所有语句的频度之和。 和算法执行时间相关的因素: ?算法选用的策略 ?问题的规模 ?书写程序的语言 ?编译程序产生机器代码质量 ?机器执行指令速度 * 教材: 自考《数据结构》 苏仕华 编著 授课教师:涂风华 开始日期:2014年3月1日 1.1 基本概念和术语 1.2 学习数据结构的意义 1.3 算法的描述和分析 数据(data)—是信息的载体。它能够被计算机识别、存储和加工处理,是计算机程序加工的原料。 数据元素(data element)—是数据的基本单位,由若干个数据项组成,也称结点、元素、顶点或记录。 数据项(data item)—是具有独立含义的最小标识单位,有时也称为域(field),即数据表中的字段。 1.1 基本概念和术语 数据结构(data structure):指的是数据之间的相互关系,即数据的组织形式。 数据结构一般包括以下三方面内容: ① 数据元素之间的逻辑关系,也称数据的逻辑结构(Logical Structure); ② 数据元素及其关系在计算机存储器内的表示,称为数据的存储结构(Storage Structure); ③ 数据的运算,即对数据施加的操作。 ①数据的逻辑结构是从逻辑关系上描述数据,与数据的存储无关,是独立于计算机的。数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。 ②数据的存储结构是逻辑结构用计算机语言的实现(亦称为映象),它依赖于计算机语言。对机器语言而言,存储结构是具体的。一般,只在高级语言的层次上讨论存储结构。 ③数据的运算定义在数据的逻辑结构上,每种逻辑结构都有一个

文档评论(0)

阿里山的姑娘 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档