一.双端队列(Deque)数据结构
- 概念:deque(也称为双端队列)是与队列相似的项的有序集合。它有两个端部,首部和尾部,而且项在集合中保持不变。app
- 特性:deque 特殊之处在于添加和删除项是非限制性的。能够在前面或后面添加新项。一样,能够从任一端移除现有项。在某种意义上,这种混合线性结构提供了单个数据结构中的栈和队列的全部能力。测试
- 注意:即便 deque 能够拥有栈和队列的许多特性,它不须要由那些数据结构强制的 LIFO 和 FIFO 排序。这取决于你如何持续添加和删除操做。spa
二.Python实现Dequecode
- Deque的抽象数据类型定义:Deque的抽象数据类型应该由如下结构和操做定义。其中元素能够从首部或尾部的任一端添加和移除。Deque操做以下:blog
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)