线性结构的特点:数据元素之间呈现一种线性关系,即元素“一个接一个排列”。
线性表常采用顺序存储和链式存储,主要的基本操作是插入、删除和查找。
按存储结构划分:
1. 顺序表
线性表的顺序存储
优点:可以随机存取表中的元素。
缺点:插入和删除操作需要移动元素。
2. 链表
线性表的链式存储
离散的存储空间,逻辑上是连续的。
3. 链表的区别
- 单链表
- 循环链表
- 双链表
相关博客: 顺序表与链表
4. 链表的操作
- 单链表的节点删除
- 单链表的节点插入
5. 顺序表与链表的比较
补充:
- 链式存储密度<1, 是因为链式存储还有指针。
6. 栈
补充:
- 并不是实际存在的东西,只是一种逻辑概念。 可以用顺序存储,也可以用链式存储。 大多数用数组。
7. 队列
7.2 循环队列
head== tail,会存在两种情况:
- 队空
- 队满
解决方法:牺牲一个空间,判断队满的条件为: tail +1 == head,