㈠ 在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻,是对是错
是错的,在线性表的顺序存储结构中,逻辑上相邻的两个元素在存储位置上一定是相邻的,所以说题目中的说法是错误的。
顺序存储结构是存储结构类型中的一种,该结构是把逻辑上相邻的结点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现。
在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构。
(1)线性表连接存储中元素间逻辑关系扩展阅读:
顺序存储结构的优缺点:
优点:随机存取表中元素、储存密度大。
缺点:插入和删除操作需要移动元素。
线性表的特征:
1、集合中必存在唯一的一个“第一元素”。
2、集合中必存在唯一的一个“最后元素”。
3、除最后一个元素之外,均有唯一的后继(后件)。
4、除第一个元素之外,均有唯一的前驱(前件)。
线性表的结构特点:
1、均匀性,虽然不同数据表的数据元素可以是各种各样的,但对于同一线性表的各数据元素必定具有相同的数据类型和长度。
2、有序性,各数据元素在线性表中的位置只取决于它们的序号,数据元素之前的相对位置是线性的,即存在唯一的“第一个”和“最后一个”的数据元素,除了第一个和最后一个外,其它元素前面均只有一个数据元素和后面均只有一个数据元素。
参考资料来源:网络-顺序存储结构
参考资料来源:网络-线性表
㈡ 什么是线性表线性表有哪两种存储结构它们是如何存储数据元素的各有什么优点
线性表:有n(n>0)的数据元素a1,a2,a3,.....,an组成的有限序列。
两种存储结构:
顺序存储结构:存取较快,插入删除较麻烦。
链式存储结构:存取较慢,插入删除叫简单。
存储数据元素:
顺序存储结构:直接存取。优点空间连续,位置明确。
链式存储结构:由于链表特征,需要从表头扫面。优点空间分散,位置不明确。
线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的,注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表。
(2)线性表连接存储中元素间逻辑关系扩展阅读:
线性表中的个数n定义为线性表的长度,n=0时称为空表。在非空表中每个数据元素都有一个确定的位置,如用ai表示数据元素,则i称为数据元素ai在线性表中的位序。
线性表的相邻元素之间存在着序偶关系。如用(a1,…,ai-1,ai,ai+1,…,an)表示一个顺序表,则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。
当i=1,2,…,n-1时,ai有且仅有一个直接后继,当i=2,3,…,n时,ai有且仅有一个直接前驱。
㈢ 简述线性表定义和逻辑特征
简述线性表定义和逻辑特征
(1)线性表
概念:实际上是基于前面元素和后面元素之间的一种相邻关系的结构
特点:
1.是由n(n>=0)个元素组成的有序序列
2.都有唯一的第一个元素和唯一一个最后元素,当n=0时,线性表为空表。线性
表每个元素,初第一个外,都有且仅有一个前驱元素,初最后一个元素外,都有
且仅有一个后续元素
3.在该序列中,所有的元素都有相同的结构,要么是同样类型的数据,要么是同
样类型的复杂结构。
(2)顺序表
概念:顺序表是线性表在顺序存储形式下构成的表
特点:
1.顺序表的存储是指在内存中,在一段连续的存储单元中存储的线性表。
2.逻辑结构上相邻的数据元素(直接前驱和直接后续)在存储位置(或物理位置)
上也相邻。根据上述只要知道首地址和每个数据元素所占的字节数,就可以求出
第n个数据元素的地址
(3)链表
概念:链表也是一种有顺序的表,其内容可以存储在一组任意的存储单元中,所
谓任意的存储单元,即这组存储单元可以是连续,也可以是不连续的,这就需要
在存储元素本身信息的同时,还有存储下一个元素的位置,由此构成一个链状结
构,称其为链表。
特点:
1.链表的头部(头结点)只表示整个链表的起始位置,而无任何信息。对于最后
一个结点(尾结点),后面无任何元素,其表示元素的位置的地址用“^”来表
示,程序实现中用“null”来表示
2.每个结点都有两个区域(数据域和指针域)。
3.每个操作都从头结点开始
4.每个节点的指针域都指向下一个结点的地址,尾节点除外(尾节点的指针域为
null)
(4)线性表的逻辑结构
概念:相邻元素之间所满足的前驱和后续的逻辑关系。
特点:
1.每个元素都有唯一的前驱和后续,起始元素和结束元素除外(起始元素只有后
续,结束元素只有前驱)
(5)线性表的存储结构
概念:线性表在计算机中的表示形式,可以分为顺序存储结构和链式存储结构
特点:
(1)顺序存储结构用一段连续的空间来存储,有利于节省存储空间
(2)链式存储结构存储在一组任意的存储单元,所谓的任意存储单元,即这组存
㈣ 链式存储结构的特点是利用什么来表示数据元素之间的逻辑关系
1。在线性表的顺序存储结构中,元素之间的逻辑关系是通过(元素的存储地址)决定的;
2。在线性表的链接存储中,元素之间的逻辑关系是通过(结点中的指针)决定的。
㈤ 在线性表的顺序存储结构中元素间的逻辑关系是通过什么决定的链式存储结构呢
在线性表的顺序存储结构中,元素之间的逻辑关系是通过(
元素的存储地址
)决定的;在线性表的链接存储中,元素之间的逻辑关系是通过(
结点中的指针
)决定的。
㈥ 线性表的顺序存储结构是以什么来表示数据元素之间的逻辑关系的
线性表是最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。
线性表主要由顺序表示或链式表示。在实际应用中,常以栈、队列、字符串等特殊形式使用。
顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存储结构或顺序映像(sequential mapping)。它以“物理位置相邻”来表示线性表中数据元素间的逻辑关系,可随机存取表中任一元素。
由此得到的存储结构为顺序存储结构,通常顺序存储结构是借助于计算机程序设计语言(例如c/c++)的数组来描述的。
顺序存储结构的主要优点是节省存储空间,因为分配给数据的存储单元全用存放结点的数据(不考虑c/c++语言中数组需指定大小的情况),结点之间的逻辑关系没有占用额外的存储空间。
采用这种方法时,可实现对结点的随机存取,即每一个结点对应一个序号,由该序号可以直接计算出来结点的存储地址。但顺序存储方法的主要缺点是不便于修改,对结点的插入、删除运算时,可能要移动一系列的结点。
推荐课程:C语言教程。
线性表顺序存储结构的结构代码:
#define MAXSIZE 20
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];
int length; // 线性表当前长度
} SqList;
顺序存储结构封装需要三个属性:
存储空间的起始位置,数组data,它的存储位置就是线性表存储空间的存储位置。
线性表的最大存储容量:数组的长度MaxSize。
线性表的当前长度:length。
注意:数组的长度与线性表的当前长度需要区分一下:数组的长度是存放线性表的存储空间的总长度,一般初始化后不变。而线性表的当前长度是线性表中元素的个数,是会变化的。
线性表顺序存储结构的优缺点
线性表的顺序存储结构,在存、读数据时,不管是哪个位置,时间复杂度都是O(1)。而在插入或删除时,时间复杂度都是O(n)。
这就说明,它比较适合元素个数比较稳定,不经常插上和删除元素,而更多的操作是存取数据的应用。
优点:
无须为表示表中元素之间的逻辑关系而增加额外的存储空间。
可以快速地存取表中任意位置的元素。
缺点:
插上和删除操作需要移动大量元素。
当线性表长度变化较大时,难以确定存储空间的容量。
容易造成存储空间的“碎片”
㈦ 叙述线性表两种存储结构各自的主要特点
两种存储结构各自的主要特点
1、顺序存储结构:存储单元地址连续,它以“物理位置相邻”来表示线性表中数据元素间的逻辑关系,可随机存取表中任一元素。
2、链式存储结构:存储单元地址为任意一组,它的存储单元可以是连续的,也可以是不连续的。
在表示数据元素之间的逻辑关系时,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置),这两部分信息组成数据元素的存储映像,称为结点(node)。
(7)线性表连接存储中元素间逻辑关系扩展阅读:
线性表结构特点
1、均匀性
虽然不同数据表的数据元素可以是各种各样的,但对于同一线性表的各数据元素必定具有相同的数据类型和长度。
2、有序性
各数据元素在线性表中的位置只取决于它们的序号,数据元素之前的相对位置是线性的,即存在唯一的“第一个“和“最后一个”的数据元素,除了第一个和最后一个外,其它元素前面均只有一个数据元素(直接前驱)和后面均只有一个数据元素(直接后继)。