python数据结构——双端队列Deque

双端队列,可以从任意一端进行队列的入队和出队操作。

from pythonds.basic import Deque

que=Deque()

que.addFront(item)

que.addRear(item)

que.removeFront()

que.removeRear()

que.isEmpty()

que.size()

用列表来实现双端队列。

  • 列表表尾执行入队和出队操作,时间复杂度为O(1)
  • 列表表头执行入队和出队操作,时间复杂度为O(n)
    class Deque:
        
        def __init__(self):
            self.items=[]
    
        def addFront(self,item):
            return self.items.append(item)
    
        def addRear(self,item):
            return 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)
    
        def isEmpty(self):
            return self.items==[]


版权声明:本文为leechying原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。