- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
§1.1数据结构的基本概念 §1.1.1数据结构的研究内容及其重要性 ?用计算机处理问题的步骤 ? 首先需要把客观对象抽象为某种形式的数据 ? 然后设计对这些数据进行处理的算法,由计算机执行设计好的算法, ? 用某种计算机语言(例如:C语言)描述交计算机处理。 ?数据结构的重要性 程序=数据结构+算法 ?数据结构的学科地位 ?数据结构的主要内容 1968年美国的唐纳德·克努特(Donald E. Kunth)教授出版了其名著《计算机程序设计艺术》第一卷《基本算法》,首次系统地阐述了数据结构的主要内容,即: ?数据的逻辑结构 ?数据的存储结构 ?对数据的操作 §1.1.2 数据结构中的基本概念和术语 一、术语 ?数据(data): 数据是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中、能被计算机程序识别和处理的符号的集合。 ?数据的分类 ?数据类型(data type): ?图状结构或网状结构 结构中的数据元素之间存在着多对多的关系。图中任一结点都可与多个其它结点关联,即图的结点之间的关系是任意的。树是图的一种特例。 例如:交通规划;邮递员问题。 如下图所示: ?时间代价(最坏、最好和平均情况) ? 最好情况下的时间代价。 ? 在平均情况下的时间代价。 ? 最坏情况下的时间代价,主要采用大 O表示法来描述。 ?大O表示法 ?算法的空间复杂度 执行一个算法所需占用的空间代价。当要解决的问题的规模以某种单位由1增至n时,对应算法所需占用的空间也以某种单位由g(1)增至g(n)。此时称该算法的空间复杂度为g(n)。 设S (n) 是算法的渐进空间复杂度,在最坏情况下它可以表示为实例特性n的某个函数f (n)的数量级,记为 : 小结 为什么要学习数据结构? ?它研究了计算机需要处理的数据对象和对象之间的关系。 ?它刻画了应用中涉及到的数据的逻辑组织。 ?它描述了数据在计算机中如何存储、传送、转换。 主要讨论哪几种数据结构? ?数据结构的类型 ?数据的逻辑结构 ?线性结构 ?非线性结构 ?数据的物理结构 ?顺序结构 ? 链表结构 ?散列结构 ?索引结构 ?在该数据结构上的操作 ?作业:p78-84(一、1,2,4,5,6,7 二、1) ?抽象数据类型(Abstract Data Type,ADT) ?抽象数据类型的概念 是带有一些操作的数据元素的集合,它是一种描述用户和数据之间接口的抽象模型,ADT的主要功能是简单而明确地描述数据结构的操作。此处的“抽象”意味着我们应该从与实现方法无关的角度去研究数据结构。抽象数据类型为用户提供了一种定义数据类型的手段,其关键的两要素为数据的结构以及在该结构上相应的操作的集合。 ?抽象数据类型的目的 引入抽象数据类型的目的是把数据类型的表示和数据类型上运算的实现与这些数据类型和运算在程序中的应用隔开,使它们相互独立。对于抽象数据类型的描述,除了必须描述它的数据结构外,还必须描述定义在它上面的运算(过程或函数)。抽象数据类型上定义的过程和函数以该抽象数据类型的数据所应具有的数据结构为基础。 下面的各节将讨论一些基本抽象数据类型。所谓基本,只是相对而言,这些数据类型是最基本,最简单的,并且是实现其他抽象数据类型的基础。 在后面的内容中我们将了解到表、栈、队列、串、树、图等常见的基本抽象数据类型的ADT操作以及这些操作用不同数据描述方法的具体实现。 讲课内容、方法、步骤 在后面的内容中我们将了解到表、栈、队列、串、树、图等常见的基本抽象数据类型的ADT操作以及这些操作用不同数据描述方法的具体实现。 抽象数据类型 查找 登录 删除 修改 符 号 表 讲课内容、方法、步骤 讲课内容、方法、步骤 ?小结 为什么要学习数据结构? ?它研究了计算机需要处理的数据对象和对象之间的关系。 ? 它刻画了应用中涉及到的数据的逻辑组织。 ? 它描述了数据在计算机中如何存储、传送、转换。 ? 主要讨论哪几种数据结构? 从传统的观点来看 ? 数据的逻辑结构 ? 线性结构 ? 非线性结构 A B C D E F A B D E G C A B C D E 线性结构 非线性结构 ?记录结构的特点 ?与数组结构一样,成分数据的个数固定。但成分数据之间没有自然序,它们处于平等地位。每一个成分数据被称为一个域并赋予域名。不同的域有不同的域名。 ?不同的域允许有不同的结构,因而允许属于不同的
文档评论(0)