⑴ 线性表链式存储结构是什么
线性表是一种逻辑结构,它有两种存储方式,顺序存储和链式存储。
顺序存储对应的是顺序表,链式存储对应的有单链表,双链表,循环链表以及静态链表。
其中,线性表的链式存储又称为单链表。
注:双链表、循环链表等都是由单链表演化而来。
单链表:一个后继指针,一个头结点和头指针。每一个结点是存储下一个结点的存储位置,因此最后一个结点存储null,也就是空值。
双链表:双链表结点中有两个指针,prior和next,即有前驱指针和后继指针,分别指向前驱和后继结点。
循环链表:循环链表和单链表的区别在于最后一个结点的指针不是null(回到单链表的知识去看一下吧),而是指向头结点,从而整个链表成为了一个环。
循环双链表:循环双链表中头结点的指针prior指针还要指向表尾结点。
注:在循环双链表L中,当循环双链表为空表时,其头结点的prior域和next域都等于L。
静态链表:静态链表是借助数组来描述线性表的链式存储结构。结点有data域和指针域next。按照我的理解:其实静态链表和单链表在结构上差不太多,但是静态链表又和顺序表很像,可以把静态链表看作是单链表和顺序表的结合吧。
链式存储结构就这几种了。
⑵ 二叉树通常链式结构还有什么结构
二叉树就物理结构来分可以分成:顺序存储结构和链式存储结构。
(1)顺序存储结构:
顺序存储结构,顾名思义就是二叉树的数据元素存放在一组连续的存储单元中。其主要有一下几个特点:
①逻辑上相邻的两个元素在物理位置上也是相邻的;
②操作删除和插入的时候,需要整体移动元素;
③需要预先分配空间,不能动态增长;
(2)链式存储结构:
链式存储结构中二叉树的每个结点至少包含三个域:数据域、左指针域和右指针域。其二叉树是通过指针实现,链式存储结构有以下几个特点:
①逻辑上相邻的两个元素在物理位置上不一定是相邻的;
②操作删除和插入的时候,不需要整体移动元素;只需要修改相应的指针即可;
③不需要预先分配空间;
④存储指针本身会消耗一定的存储的空间;
⑶ 数据结构哪些是四种常见的逻辑结构
四种常见的逻辑结构:
1、集合结构
数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;
2、线性结构
数据结构中的元素存在一对一的相互关系
3、树形结构
数据结构中的元素存在一对多的相互关系
4、图形结构
数据结构中的元素存在多对多的相互关系
(3)链式存储结构有哪四种扩展阅读:
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。
数据的物理结构是数据结构在计算机中的表示(又称映像),它包括数据元素的机内表示和关系的机内表示。由于具体实现的方法有顺序、链接、索引、散列等多种,所以,一种数据结构可表示成一种或多种存储结构。
⑷ 计算机有哪些存储结构
计算机存储来说一般有四种方式:
(1)顺序存储方法
该方法把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。
由此得到的存储表示称为顺序存储结构
(Sequential
Storage
Structure),通常借助程序语言的数组描述。
该方法主要应用于线性的数据结构。非线性的数据结构也可通过某种线性化的方法实现顺序存储。
(2)链接存储方法
该方法不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系由附加的指针字段表示。由此得到的存储表示称为链式存储结构(Linked
Storage Structure),通常借助于程序语言的指针类型描述。
(3)索引存储方法
该方法通常在储存结点信息的同时,还建立附加的索引表。
索引表由若干索引项组成。若每个结点在索引表中都有一个索引项,则该索引表称之为稠密索引(Dense Index)。若一组结点在索引表中只对应一个索引项,则该索引表称为稀疏索引(Spare
Index)。索引项的一般形式是:
关键字是能唯一标识一个结点的那些数据项。稠密索引中索引项的地址指示结点所在的存储位置;稀疏索引中索引项的地址指示一组结点的起始存储位置。
(4)散列存储方法
该方法的基本思想是:根据结点的关键字直接计算出该结点的存储地址。
四种基本存储方法,既可单独使用,也可组合起来对数据结构进行存储映像。
同一逻辑结构采用不同的存储方法,可以得到不同的存储结构。选择何种存储结构来表示相应的逻辑结构,视具体要求而定,主要考虑运算方便及算法的时空要求。
⑸ 计算机有哪些存储结构
在计算机中存储和组织数据的方式被称之为数据结构,链表和数组是较为常见的两种结构。
1、数组
数组就像一个个紧挨着的小格子,每一个格子都有它们自己的序号,这个序号被称之为“索引”。与生活中不太相同的是,平时计数习惯以“1”开始,而在计算机中,“0”是开头的第一个数字。
数组中的数据,在计算机的存储器中,也是按顺序存储在连续的位置中。当我们寻找需要的数据时,通过格子中的索引,便可以找到数据。
2、链表
链表的存储方式有些像地址和住宅的关系,地址可以写在一张纸上,但是这并不代表住宅也紧密相邻。链表中的数据在计算机中也是分散地存储在各个地方,但是链表里面除了存储数据,还存储了下一个数据的地址,以便于找到下一个数据。
与数组不同的是,链表储存数据不像数组一样,需要提前设定大小,就像火车的车厢长度是随着乘客的数量而增加的。
(5)链式存储结构有哪四种扩展阅读
数据的链式存储结构可用链接表来表示。
其中data表示值域,用来存储节点的数值部分。Pl,p2,…,Pill(1n≥1)均为指针域,每个指针域为其对应的后继元素或前驱元素所在结点(以后简称为后继结点或前驱结点)的存储位置。
通过结点的指针域(又称为链域)可以访问到对应的后继结点或前驱结点,若一个结点中的某个指针域不需要指向其他结点,则令它的值为空(NULL)。
在数据的顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以访问元素的时间都相同;而在数据的链接存储中。
由于每个元素的存储位置保存在它的前驱或后继结点中,所以只有当访问到其前驱结点或后继结点后才能够按指针访问到,访问任一元素的时间与该元素结点在链式存储结构中的位置有关。
⑹ 存储结构有哪些
存储结构有顺序存储和链接存储。顺序存储和链接存储是数据的两种最基本的存储结构。
1、顺序存储
顺序存储方法是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。
2、链接存储
链接存储方法它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。
(6)链式存储结构有哪四种扩展阅读:
数据的存储结构是指数据的逻辑结构在计算机中的表示。数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。
储存系统的层次结构为了解决存储器速度与价格之间的矛盾,出现了存储器的层次结构。
⑺ 链式结构是什么
链式结构是为了解决线性结构中间插入数据速度不友好而提出的解决方法,对初始化的数据添加next属性,使得它指向下一个节点,这样需要添加数据或者删除数据(完全删除,非重置为None)只需要将链式结构打断并重新连接即可实现,不过需要牺牲线性结构的快速查询性能。
链式结构特点:
1、比顺序存储结构的存储密度小(链式存储结构中每个结点都由数据域与指针域两部分组成,相比顺序存储结构增加了存储空间)。
2、逻辑上相邻的节点物理上不必相邻。
3、插入、删除灵活 (不必移动节点,只要改变节点中的指针)。
4、查找节点时链式存储要比顺序存储慢。
5、每个节点是由数据域和指针域组成。
6、由于簇是随机分配的,这也使数据删除后覆盖几率降低,恢复可能提高。
7、它不要求逻辑上相邻的元素在物理位置上也相邻,因此它没有顺序存储结构所具有的弱点,但也同时失去了顺序表可随机存取的优点。
⑻ 数据的储存结构主要有哪两种有什么主要区别
数据的储存结构主要有:顺序存储结构和链式存储结构。
主要区别
一、存储单元的连续性不同
链式存储结在构计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。
顺序存储结构在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素。
二、优缺点不同
空间上
顺序比链式节约空间。是因为链式结构每一个节点都有一个指针存储域。
存储操作上:
顺序支持随机存取,方便操作
插入和删除上:
链式的要比顺序的方便(因为插入的话顺序表也很方便,问题是顺序表的插入要执行更大的空间复杂度,包括一个从表头索引以及索引后的元素后移,而链表是索引后,插入就完成了)
三、适用方向不同
链式存储适用于在较频繁地插入、删除、更新元素时,而顺序存储结构适用于频繁查询时使用。
⑼ 线性存储结构就是顺序存储结构吗线性表是线性存储结构吗
不是,他们的关系可以如图所示。线性表包括顺序存储结构和链式存储结构。
拓展资料:
线性表的划分是从数据的逻辑结构上进行的。线性指的是在数据的逻辑结构上是线性的。即在数据元素的非空有限集中
(1)存在唯一的一个被称作“第一个”的数据元素,(2)存在唯一的一个被称作“最后一个”的数据元素,(3)除第一个外,集合中的每个数据元素均只有一个前继元素,(4)除最后一个外,集合中的每个数据元素均只有一个后继元素。
那么对于线性表,从存储结构上分,可以有顺序存储结构和链式存储结构。顺序存储结构包括顺序表、顺序队列和顺序栈;链式存储结构包括链表、链队列和链栈。