数据结构笔记:双端队列

原文地址

分类目录——数据结构笔记

双端队列(deque,double-ended queue),是一种具有队列和栈的性质的数据结构。

双端队列中每一端,都可以进行存入和取出,去其中一段,都像一个栈一样。

存取也只限定在两端,不能在中间

  • 双端队列的实现

    通过线性表实现

    class Dequeue(object):
        def __init__(self):
            '''初始化一个空队列'''
            self.__list = []
    
        def add_front(self, item):
            '''从队列首添加'''
            self.__list.insert(0, item)
    
        def add_rear(self, item):
            '''从队列尾添加'''
            self.__list.append(item)
    
        def pop_front(self):
            '''从队列首删除'''
            return self.__list.pop(0)   # 时间复杂度O(n)
    
        def pop_rear(self):
            '''从队列尾删除'''
            return self.__list.pop()
    
        def is_empty(self):
            '''是否空'''
            return not self.__list
    
        def size(self):
            '''元素数量'''
            return len(self.__list)
    
发布了157 篇原创文章 · 获赞 163 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/BBJG_001/article/details/104710055