第2章 线性表
线性表是实际应用中*常见的一种数据结构,也是*简单的一种数据结构。从逻辑结构的角度来看,线性表中各元素之间是一维的、并且有序排列的关系,表中除了**个元素外,每个元素都有一个直接前驱;除了*后一个元素外,每个元素都有一个直接后继。从存储结构的角度来看,线性表在具体实现的过程中可采用顺序存储结构或链式存储结构。
本章中首先介绍线性表的概念,即线性表的逻辑结构;接下来依次介绍线性表的顺序存储和链式存储两种结构及实现机制,以及在这两种存储结构上针对线���表的各种操作的实现算法,并对其时间和空间复杂度进行分析,其中在顺序存储结构之后将插入有关数组与矩阵的相关知识;*后将针对线性表在实际应用中的作用举一些实例。
2.1 线性表的概念及基本操作
2.1.1 线性表的概念
线性表的逻辑结构是很容易理解的,就好像一条线,上面有若干个结点,如果这条线上面有结点,那么它就是非空线性表;如果没有结点,则它就是一个空表。非空线性表有且只能有一个开始结点和终端结点,其他结点前后只能有一个直接前趋结点和直接后继结点。
线性表由一组具有相同属性的数据元素构成。数据元素的含义广泛,在不同的具体情况下,可以有不同的含义。例如,英文字母表(A,B,C,…,Z)是一个长度为26的线性表,其中的每一个字母就是一个数据元素;一个班级中按照学号顺序排列的学生名单表,其中每个学生就是表中的一个元素;再如,某公司某年的月产值表(3000,3200,3100,…,3250,3150)(单位:万元)是一个长度为12的线性表,其中的每一个数值就是一个数据元素。在一些复杂的线性表中,每一个数据元素又可以由若干个数据项组成,这一点在第1章有过介绍,这里不再赘述。
……