队列模型与操作
队列是什么?
- 队列: 先入先出 (FIFO) 的线性数据结构;
- 队首: 队列头部, 出队的一端;
- 队尾: 队列尾部, 入队的一端;
- 入队: 在队尾添加元素;
- 出队: 删除队首元素;
出队 ← [ 1 | 2 | 3 ] ← 入队
队首 队尾
队列有哪些基本操作?
| 方法 | 描述 | 时间复杂度 |
|---|---|---|
| push() | 元素入队, 添加至队尾 | O(1) |
| pop() | 队首元素出队 | O(1) |
| peek() | 访问队首元素, 不出队 | O(1) |
双向队列与普通队列有什么区别?
- 双向队列: 栈和队列的集合体;
- 能力: 允许在头部和尾部进行插入和删除操作;
- 普通队列: 只能在队尾插入、队首删除;
- 栈: 只能在同一端插入和删除;