一. 线性结构的定义
数据元素的有限序列。结构中的数据元素是属于同一数据对象,相邻数据元素之间存在着序偶关系。
线性表记为:a1,a2,a3,…,an-1,an{ai | 0<=i<=n-1}
(高数中的一阶导数是常数的模型, y = ax + b --> y’= a)
二. 线性结构的特点
1. 数据元素存在于非空有限集中;
2. 存在唯一的一个被称做“第一个”的数据元素;
3. 存在唯一的一个被称作“最后一个”的数据元素;
4. 除第一个之外,每个元素都只有一个前驱;
5. 除最后一个之外,每个元素都只有一个后继。
(2,3说明只有一个入口和一个出口;4,5严格定义了线性的特点)
三. 线性表抽象数据类型
两大分类:
1. 数据集合
任意的类类型(基本数据类型或者自定义数据类型)
2. 该数据集合上的操作集合
四. 常见线性结构
1. 顺序表(arraylist,实际就是数组的封装)
2. 链表(linkedlist,主要是结点类)
3. 数组(array)
4. 串(bunch)
5. 队列(queue) 先进先出的结构(打饭队伍,两个出口)
6. 栈(stack) 先进后出的结构(无顶盖的桶,有且只有一个出口)
五. 线性存储特点
1. 物理结构
2. 逻辑结构
顺序类型在逻辑和物理上都是一致的,属于顺序存储的结构。
节点类型在物理上不是相邻存储,但是逻辑上成线性结构。