双端队列支持线程安全,在两端任何一端执行添加和删除,时间复杂度为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)
原文:http://www.cnblogs.com/lcpholdon/p/4992844.html