双端队列支持线程安全,在两端任何一端执行添加和删除,时间复杂度为o(1)。访问两端的索引访问,时间复杂度为o(1)。访问中间元素时间复杂度为o(n)。随机访问还是采用列表
列表:时间复杂度为o(n)
双端队列的实现:
class Deque:
# 模拟双端队列
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def addFront(self,item):
self.items.append(item)
def addRear(self,item):
self.items.insert(0,item)
def removeFront(self):
return self.items.pop()
def removeRear(self):
return self.items.pop(0)
def size(self):
return len(self.items)
时间: 2025-01-02 17:36:08