什么是线性表?
n个类型相同数据元素的有限序列
- 相同数据类型:数据类型相同意味着在存储时每个数据都会占用相同的大小的内存空间,便于查找
- 序列(有序的):除了表头数据和表尾数据,每个数据都有且只有两个数据相邻
- 有限:线性表的长度范围是n
线性表的逻辑结构?
- 线性结构
线性表的存储结构?
- 顺序存储结构:在内存中分配一定的连续的存储空间,只存数据,不存地址信息,位置隐含地址
优点:
- 只存数据,不存地址信息,节省存储空间
- 索引查找效率高,时间复杂度
缺点:
- 提前分配存储空间,如果存储的数据少,会浪费内存
- 删除,增加需要移动元素,效率低,时间复杂度
- 链式存储结构:不连续的存储空间,每一个存储节点对应一个数据元素,每个节点由数据域和指针域组成,元素直接的逻辑关系是由存储节点直接的连接关系反应出来
优点:
- 插入,删除灵活(不需要移动节点,只要改变节点中的指针即可),时间复杂度
- 有元素才会分配节点,节省空间
缺点:
- 每个节点又数据域与指针域组成,浪费空间
- 节点之间位置不连续,无规律,按索引查找效率低,时间复杂度