线性表的概念
线性表属于最基本、最简单、也是最常用的一种数据结构,从逻辑上划分它属于线性结构。一 个线性表是由 n 个具有相同特性的数据元素组成的有限序列,数据元素之间具有一种线性的或“一 对一”的逻辑关系,如下图所示:
从严谨的角度上来讲,线性表应该满足以下三个要求:
(1) 第一个数据元素没有直接前驱,这个数据元素被称为开始节点;
(2) 最后一个数据元素没有直接后继,这个数据元素被称为终端节点;
(3) 除了第一个和最后一个数据元素外,其它数据元素有且仅有一个直接前驱和一个直接后继
线性表的特点
(1) 顺序性
在线性表中,相邻数据元素之间存在着序偶关系,也就是存在着先后关系。
(2) 相同数据类型
在线性表中,每一个数据元素都属于相同数据类型。相同数据类型意味着在内存中存储时,每 个元素会占用相同的内存空间,便于后续的查询定位。
(3) 有限性
在线性表中,数据元素的个数 n 就是为线性表的长度,n 是一个有限值。当 n=0 时线性表为空 表。在非空的线性表中每个数据元素在线性表中都有唯一确定的序号,例如第一个元素的序号是 0, 第 i 个元素的序号为 i-1。在一个具有 n > 0 个数据元素的线性表中,数据元素序号的范围是[0, n-1]。
线性表的存储结构
线性表拥有两种不同的存储结构,分别为:
(1) 顺序存储结构(顺序表):顺序表是采用一组地址连续的存储单元来依次存放线性表中的各个 元素
(2) 链式存储结构(链表):链表中的存储元素的地址不一定是连续的,元素节点中存放数据元素 以及相邻元素的地址信息。