线性结构,那就是线性表,具有相同数据类型的n个数据元素的有限序列
逻辑结构分类:
就是基于某种限定的规则进行分类
- 一般线性表
- 受限线性表:栈和队列;串
- 线性表推广:数组;广义表
ps:
栈:只允许表的一端插入和删除(栈顶),另一端是固定的(栈底)
队列:只允许表的一端插入,另一端删除
串:限定了元素为字符的线性表
存储结构分类:
根据在物理空间存储方式进行分类
- 顺序存储:顺序表
- 链式存储:单链表(指针实现);双链表(指针实现);循环链表(指针实现);静态链表(数组实现)
有点恶心的一句话
线性表的顺序存储结构是一种 随机存取 的存储结构
解读:
存储是针对存储方式而言,
数组的存储是连续的(顺序存储结构),
但是存取(访问)是针对读写的,是随机的,
因为可以用下标进行数组的随机存取(访问)。
相反,
链表也可以实现连续存储(链式存储结构),
但是其存取(访问)却是不随机的。
随机访问的定义
随机访问:
指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关(RAM内存)
一步直接得到该数据的首地址(数组)
非随机访问:
读取或写入顺序访问(SequentialAccess)存储设备中的信息时,其所需要的时间与位置就会有关系(磁带,CD)
就是存取第N个数据时,必须先访问前(N-1)个数据 (链表)