开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情
首先在学习线性表之前,要对线性表的定义有一定的了解。线性表是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。
例如(A,B,C,···,Z)是一个线性表,每一个字母都是一个数据元素。对于较复杂的线性表,一个数据元素可以有若干个数据项组成,在这种情况下常把数据元素称为记录,含有大量记录的线性表又称为文件。
线性表中元素的个数n(n>=0)定义为线性表的长度,n=0时称为空表。而对于非空的线性表,每个元素都有一个确定的位置,如a1 是第一个数据元素,an是最后一个数据元素。
除此之外,线性表还是一个相当灵活的数据结构,它的长度可根据需要增长或缩短,即对线性表的数据元素不仅可以进行访问,还可以进行插入和删除等。
线性表的特征:
1.集合中必存在唯一的一个“第一元素”。
2.集合中必存在唯一的一个 “最后元素” 。
3.除最后一个元素之外,均有唯一的后继(后件)。
4.除第一个元素之外,均有唯一的前驱(前件)。
线性表的存储结构:
线性表主要由顺序表示或链式表示。
顺序存储: 顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存储结构或顺序映像(sequential mapping)。它以“物理位置相邻”来表示线性表中数据元素间的逻辑关系。
链式存储: 链式表示指的是用一组任意的存储单元存储线性表中的数据元素,称为线性表的链式存储结构。它的存储单元可以是连续的,也可以是不连续的。在表示数据元素之间的逻辑关系时,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置),这两部分信息组成数据元素的存储映像,称为结点(node)。它包括两个域;存储数据元素信息的域称为数据域;存储直接后继存储位置的域称为指针域。指针域中存储的信息称为指针或链。这其实是一种单链表。
在接下来的学习中,还会继续了解线性表的存储结构。