2线性表
2.1线性表的定义和特点
线性表:是具有相同特性的数据元素的一个有限序列。
(a1,a2,......,ai-1,ai,ai+1,......,an)
a1是线性起点(起始结点),an是线性终点(终端结点)。
ai-1是ai的直接前趋,ai+1是ai的直接后继。
n = 0时称为空表。
线性表的逻辑特征
(1)在非空的线性表,有且仅有一个开始结点a1,它没有直接前趋,而仅有一个直接后继a2。
(2)有且仅有一个终端结点an,它没有直接后继,而仅有一个直接前趋an-1。
(3)其余的内部结点ai(2 <= i <= n-1)都有且仅有一个直接前趋ai-1和一个直接后继ai+1。
线性表是一种典型的线性结构。
顺序存储结构存在有一些问题
(1)存储空间分配不灵活。
(2)运算的空间复杂度高。
线性表中数据元素的类型可以为简单类型,也可以为复杂类型。
许多实际应用问题所涉的基本操作有很大相似性,不应为每个具体应用单独编写程序。
从具体应用中抽象出共性的逻辑结构和基本操作,然后实现存储结构和基本操作。