Python算法详解
上QQ阅读APP看书,第一时间看更新

4.1.1 线性表的特性

线性表是一种最基本、最简单、最常用的数据结构。在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。因为这些特殊线性表都有自己的特性,所以掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率是至关重要的。

线性表是一种线性结构,是一个含有n≥0个节点的有限序列。在节点中,有且仅有一个开始节点没有前趋节点并且有一个后继节点,有且仅有一个终端节点没有后继节点并且有一个前趋节点,其他节点都有且仅有一个前趋节点和一个后继节点。通常可以把线性表表示成线性序列:k1k2,…,kn,其中k1是开始节点,kn是终端节点。

1.线性结构的特征

在编程领域中,线性结构具有如下两个基本特征。

(1)集合中必须存在唯一的“第一元素”和“最后元素”。

(2)除最后元素外,均有唯一的后继元素;除第一元素外,均有唯一的前趋元素。

n(n≥0)个数据元素(节点)a1a2,…,an组成的有限序列,数据元素的个数n定义为表的长度。当n=0时称为空表,通常将非空的线性表(n>0)记作:(a1a2,…,an)。数据元素ai(1≤in)没有特殊含义,不必“追根问底”地研究,它只是一个抽象的符号,其具体含义在不同的情况下可以不同。

2.线性表的基本操作过程

线性表虽然只是一对一关系,但是其操作功能非常强大,具备很多操作技能。线性表的基本操作如下。

(1)Setnull(L):置空表。

(2)Length(L):求表的长度和表中各元素的个数。

(3)Get(L,i):获取表中的第i个元素(1≤in)。

(4)Prior(L,i):获取i的前趋元素。

(5)Next(L,i):获取i的后继元素。

(6)Locate(L,x):返回指定元素在表中的位置。

(7)Insert(L,i,x):插入新元素。

(8)Delete(L,x):删除已有元素。

(9)Empty(L):判断表是否为空。

3.线性表的结构特点

线性表具有如下结构特点。

(1)均匀性:虽然不同数据表的数据元素各种各样,但同一线性表的各数据元素必须有相同的类型和长度。

(2)有序性:各数据元素在线性表中的位置只取决于它们的序号。数据元素之前的相对位置是线性的,即存在唯一的“第一个”和“最后一个”数据元素,除了第一个和最后一个元素外,其他元素的前面只有一个数据元素直接前趋,后面只有一个数据元素直接后继。