数据结构--队列
原创...大约 1 分钟
队列
遵循先进先出FIFO(first in first out)的原则。在这种结构中,数据被依次添加到队列末端,并从队列的前端移除。类似于结账排队。
操作
队列主要支持以下几种操作
- Enqueue:将一个元素添加到队列的尾部
- Dequeue:从队列头部移除一个元素
- Front:获取头部元素(不移除)
- IsEmpty:检查队列是否为空
- Size:返回队列中元素的数量
实现
队列可以通过多种方式实现:
使用数组或列表
使用链表
可以在O(1)的时间复杂度内进行插入和删除操作
__
- 使用库queue.Queue: 这是Python标准库提供的一个线程安全的队列实现,适用于多线程环境
- 使用双端队列(duque): Python 的 collections.deque提供了一个优化的双端队列实现,适合用作队列
代码模板
class CircularQueue:
def __init__(self, capacity=8):
# 初始化队列
def enqueue(self, value):
# 元素入队操作
def dequeue(self):
# 元素出队操作
def peek_front(self):
# 获取队列前端元素
def peek_rear(self):
# 获取队列后端元素
def size(self):
# 返回队列大小
def is_empty(self):
# 检查队列是否为空
def is_full(self):
# 检查队列是否已满
def resize(self):
# 扩大队列容量
# 示例使用
if __name__ == "__main__":
queue = CircularQueue()
# 进行入队、出队等操作,并打印结果
option
+ command
+L
Powered by Waline v3.1.3