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

数据的线性结构.pptVIP

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“计算机软件技术”课群 基础篇之— 数据结构 第2章 数据的线性结构 (3学时) 第3章 查找与排序 (2学时) 第2章 数据的线性结构 2.1.1数据的逻辑结构和存储表示 1.基本的概念和术语 计算机的应用: 科学计算==非数值计算 一、两个例子 例1、学生档案管理 ① 组织成一个二维表 ②组织成一棵树 例2、在n个城市间建立通信网络 从上面两个例子中可以看出: 数据结构中元素之间存在着逻辑关系,上述例子中给出了三种逻辑结构--线性表、树、图。 数据结构主要解决: 如何分析数据元素之间的关系,并确定合适的逻辑结构; 如何在计算机中存储这些数据; 为完成对数据的操作设计算法,并作出分析。 二、概念和术语 数据(data):表示现实世界中的客观事物、能输入计算机并能被计算机程序处理的符号的总称。 数据元素(data element):数据集合中的一个个体,是数据的基本单位。(亦称为结点、记录等) 数据项(data item):数据的不可分割的、含有独立意义的最小单位。 数据对象(data object):性质相同的数据元素的集合。 数据结构(data structure):相互之间存在着一种或多种关系的数据元素的集合。 数据结构无公认定义,都认为其研究涉及三个方面: 数据元素间的逻辑关系(逻辑结构) 数据元素的存储方式(物理结构) 数据元素间的运算(操作) 一般地,一个数据结构中的数据元素属于同一个数据对象。 2.1.2 数据的逻辑结构和存储方法 一、数据的逻辑结构 逻辑结构是指数据元素之间的特定关系,它独立于计算机,是元素之间关系的抽象。 1、定义 数据结构是一个二元组B=(D,R)。其中D是数据元素(即结点)的有限集合;R是D上的关系的有限集合。一般R中只涉及一种关系。 例如: 有4个人,为别为a、b、c、d,其中a是b的父亲,b是c的父亲,c是d的父亲,如果只讨论他们所表达的父子关系,则可以用下面的二元组形式化地表示为: B=(D,R) 其中 D={a,b,c,d} R={r} r = {a,b,b,c,c,d} 又如: 另有4个人,分别为e,f,g,h;其中e是f和g的父亲,g是h的父亲,则可用下面的二元组形式化地表示为: B=(D,R) 其中 D={e,f,g,h} R={r} r = {e,f,e,g,g,h} 可以用图形方式分别表示为: 2、几个概念 设B=(D,R)是一个逻辑结构,r∈R,di、dj ∈ D。如果 di,dj ∈r,则称di是dj的前驱, dj是di的后继。 如果某个结点没有前驱,则称之为开始结点; 如果某个结点没有后继,则称之为终端结点; 既非开始结点,也非终端结点的结点称之为内部结点。 3、结构分类 ①线性结构 只有一个开始结点和一个终端结点,其它结点只有一个前驱结点和一个后继结点,称之为线性结构。即元素之间存在着一对一的关系。 ②非线性结构 如果一个结构不是线性结构,则称之为非线性结构。一般地,结构中至少有一个结点存在不止一个前驱结点或后继结点。非线性结构有两类: a、树形结构:元素之间存在着一对多的关系。 b、图形结构:元素之间存在着多对多的关系。 二、数据的存储方法 一般地,数据的存储方法有四种: 顺序存储 链式存储 索引存储 散列存储 (后两种方法主要用于查找,本课程不作详述) 1、顺序存储 把逻辑上相邻的数据元素存储在物理位置相邻的存储单元之中。通常借助于程序设计语言中的数组来实现。 2、链式存储 逻辑上相邻的数据元素不要求其物理存储位置相邻,元素间的逻辑关系用附设的指针域来表示。通常借助于程序设计语言中的指针来实现。 例如: 有数据结构B=(D,R), 其中 D={d1,d2,d3,d4,d5} R={r} r={ d1,d2 , d2,d3 , d3,d4 , d4,d5 } 则用上述两种存储结构表示为: 链式存储图示为: 2.2 线性表的基本概念 一、线性表的定义 它是最常用且又最简单的线性结构。 定义: 线性表是n(n≥0)个性质相同的数据元素所构成的有限序列(a1,a2,a3,….,an)。 n称为线性表的长度。 当n=0时

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档