Queues#
A Queue is defined as a linear data structure that is open at both ends and the operations are performed in First In First Out (FIFO
) order.
Queue的操作#
入队(enqueue)操作:将元素加入队尾。时间复杂度:O(1)
出队(dequeue)操作:从队头弹出元素。时间复杂度:O(1)
查看队头元素(peek)操作:返回队头元素,但不弹出。时间复杂度:O(1)
判断队列是否为空(isEmpty)操作:判断队列是否为空。时间复杂度:O(1)
1class Queue:
2 def __init__(self):
3 self.items = []
4
5 def enqueue(self, item):
6 self.items.append(item)
7
8 def dequeue(self):
9 if not self.is_empty():
10 return self.items.pop(0)
11
12 def peek(self):
13 if not self.is_empty():
14 return self.items[0]
15
16 def is_empty(self):
17 return len(self.items) == 0
18
19 def size(self):
20 return len(self.items)