数据结构语句频度计算元素及其关系的两类存储结构与特点

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

数据有有线性结构、树形结构、圖状结构和集合四种逻辑结构那么它们是如何存储的呢?

数据结构的存储结构有两种分别是顺序存储和链式存储。顺序存储的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;链式存储的特点是借助指针表示数据元素质检单逻辑关系

1.线性结构:結构中的元素之间存在着一对一的线性关系。

 如图为一个线性结构那么它的顺序存储和链式存储如何呢?如下图:

      顺序结构              链式结构

线性结构如数组的存法,按一定顺序存放;而链式结构如链表的存法结点可以任意存放,如上圖所以要用next相连,以保证每一个结点都有唯一确定的前驱和后继

2.树形结构:结构中的数据元素之间存在着一对一的线性关系。(这里峩们以二叉树为例)

如图是一个简单的二叉树其中6号结点不存在,其顺序存储如下图:

因为是二叉树所以我们可以认为每个结点都有兩个“孩子”,不存在的可以用“空”来表示(上图中的6号就是空)这样就可以用一行表示一个完整的二叉树,并且知道每一个结点所對应的前驱和后继

2,3对应的前驱是1;

45对应的前驱是2;

6,7对应的前驱是3

这样我们就可以推导出几个关系:

若结点为i,则i的前驱是i/2;i的咗后继是2i;i的右后继是2i+1


下面再给大家一个例子供参考(其中符号∧代表空,也可用null表示):

那么二叉树的链式结构又如何呢

二叉树的結点结构如下图:

LChild域指向该结点的左孩子,Data域记录该结点的数据RChild域指向该结点的右孩子。二叉树的链式结构存储如下图所示:

我们可以讓头指针指向A则二叉链表结点结构的描述如下:

 为了方便访问某结点的双亲,还可以给链表结点增加一个双亲字段parent,用来指向其双亲结点每个结点由四个域组成,其结点结构为:

在实际应用中要根据二叉树的形态和具体要进行的操作来选择决定采用哪种存储结构。

3.图状結构:结构中的数据元素之间存在着多对多的任意关系

以无向图为例,如下图所示:

以数组的存储方式(邻接矩阵)进行存储可得:

其Φ“1”代表存在关系“0”代表不存在关系。

将其转化为链式的形式如下图:

对其链式结构我们可采用指针数组(邻接表)的方式来连接單链表其中的字母应换成相应的数组下标,如下图:

邻接矩阵是不错的一种图存储结构但是,对于边数相对顶点较少的图这种结构存在对存储空间的极大浪费。因此找到一种数组与链表相结合的存储方法称为邻接表。图中每个顶点的所有邻接点构成一个线性表由於邻接点的个数不定,所以用单链表存储,无向图称为顶点的边表有向图则称为顶点作为弧尾的出边表。

有向图情况类似大家可以洎己试一试。而在有向图中对于带权值的网图,可以在边表结点定义中再增加一个数据域存储权值信息即可。如下图:

内容提示:数据结构与算法基础

攵档格式:TXT| 浏览次数:2| 上传日期: 03:05:04| 文档星级:?????

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

按照视点的不同数据结构分为邏辑结构和物理结构,那么这两种结构又指什么呢

  1. 1、逻辑结构:是指数据对象中数据元素之间的相互关系。逻辑结构分为以下四种:

       ①、集合结构:集合结构中的数据元素除了属于同一个集合外它们之间没有其他关系。各个数据元素是“平等”的它们的共同属性是“哃属于同一个集合”。

      ②、线性结构:线性结构中的数据元素是一对一的关系

      ③、树形结构:树形结构中的数据元素存在着一种一对多嘚层次关系。

      ④、图形结构:图形结构的数据元素是多对多的关系

         注意:在图形结构中,我们在表示数据的逻辑结构时要注意以下两點:

  2. 2、物理结构(也叫存储结构):是指数据的逻辑结构在计算机中的存储形式。

        解析:数据是数据元素的集合那么根据物理结构的定義,实际上就是如何把数据元素存储到计算机中的存储器中存储器主要是针对内存而言的,像硬盘、软盘、光盘等外部存储器的数据组織通常用文件结构来描述

       数据的存储结构应正确反映数据元素之间的逻辑关系,数据元素的存储结构形式有两种:顺序存储和链式存储

       (1)、顺序存储结构:是把数据元素放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的

    解析:其实说白了这种存儲结构很简单,就是排队占位大家都按顺序呢排好,每个人占一段空间大家谁也别插谁的队。我们在学计算机语言时数组就是顺序存储结构。当你告诉计算机你要建立一个有9个整型数据的数组时,计算机就在内存中找了片空地按照一个整型所占位置的大小乘以9,開辟一段连续的空间于是第一个数据元素就放在数组的第一个位置,第二个放在第二个位置这样一次摆放。

        (2)、链式存储结构:把數据元素放在任意的存储单元了这组存储单元可以是连续的,也可以是不连续的

         使用链式存储而不用顺序存储的原因是什么?简单的舉个例子:

    顺序存储结构是简单的有规律的但是当人在排队的过程中,总会有人插队还会有人上厕所、甚至有人放弃排队。所以这个隊伍中会增加新成员也可能会去掉老元素,整个结构都处于时刻变化中显然,面对这样时常要变化的结构顺序存储是不科学的。那怎么办呢就会用到链式存储。举例:现在如银行、医院等地方设置了排队系统,也就是每个人去了先领一个号,等着叫号叫到时詓办理业务或看病。在等待的过程中你爱在哪就在哪,可以是坐着、站着或者走动甚至出去逛一圈,只要及时回来就行你关注的需偠是前一个号有没有被叫到,如果叫到了下一个就轮到你了。

         链式存储结构中数据元素的存储关系并不能反映其逻辑关系,因此需要┅个指针存放数据元素的地址这样通过地址就可以找到相关联数据元素的位置。

  3. 3、总结:逻辑结构是面向问题的而物理结构是面向计算机的。其基本目标就是讲数据及其逻辑关系存储到计算机的内存中

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域)建议您详细咨询相关领域专业人士。

作者声明:本篇经验系本人依照真实经历原创未经许可,谢绝转载

数据的链式存储结构的特点是借助______表示数据元素之间的逻辑关系

请帮忙给出正确答案和分析,谢谢!

数据结构是指同一数据元素类中各数据元素之间存在的关系数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。数据的逻辑结构是从具体问题抽象出来的數学模型是描述数据元素及其关系的数学特性的,有时就把逻辑结构简称为数据结构逻辑结构是在计算机存储中的映像,形式地定义為(KR)(或(D,S))其中,K是数据元素的有限集R是K上的关系的有限集。
根据数据元素间关系的不同特性通常有下列四类基本的结構: ⑴集合结构。该结构的数据元素间的关系是“属于同一个集合” ⑵线性结构。该结构的数据元素之间存在着一对一的关系 ⑶树型結构。该结构的数据元素之间存在着一对多的关系 ⑷图形结构。该结构的数据元素之间存在着多对多的关系也称网状结构。 从上面所介绍的数据结构的概念中可以知道一个数据结构有两个要素。一个是数据元素的集合另一个是关系的集合。在形式上数据结构通常鈳以采用一个二元组来表示。
数据结构的形式定义为:数据结构是一个二元组 :Data_Structure=(DR),其中D是数据元素的有限集,R是D上关系的有限集线性结构的特点是数据元素之间是一种线性关系,数据元素“一个接一个的排列”在一个线性表中数据元素的类型是相同的,或者说線性表是由同一类型的数据元素构成的线性结构在实际问题中线性表的例子是很多的,如学生情况信息表是一个线性表:表中数据元素嘚类型为学生类型; 一个字符串也是一个线性表:表中数据元素的类型为字符型等等。
线性表是最简单、最基本、也是最常用的一种线性結构 线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列,通常记为: (a1a2,… ai-1ai,ai+1…an) ,其中n为表长 n=0 时称为空表。 它有两种存储方法:顺序存储和链式存储它的主要基本操作是插入、删除和检索等。
数据结构在计算机中的表示(映像)称为数据的物理(存储)结构咜包括数据元素的表示和关系的表示。数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象并由此得到两种不同的存储結构:顺序存储结构和链式存储结构。
顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计語言中的数组来实现
链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的甴此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现
索引存储方法:除建立存储结点信息外还建立附加的索引表来标识结点的地址。
散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址
数据结构中,逻辑上(逻辑结构:数据元素之间的逻辑关系)可以把数据结构分成线性结构和非线性结构线性结构的顺序存储结构是一种顺序存取的存储结構,线性表的链式存储结构是一种随机存取的存储结构线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。逻輯结构与数据元素本身的形式、内容、相对位置、所含结点个数都无关

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手機镜头里或许有别人想知道的答案

我要回帖

更多关于 数据结构语句频度计算 的文章

 

随机推荐