数据结构与算法:双端队列

Posted geeksongs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法:双端队列相关的知识,希望对你有一定的参考价值。

双端队列和普通队列不同的地方是既可以队首和队尾进行插入,同时也就可以从队首和队尾进行remove删除 ,同时不遵循先进先出或者先进后出的规则,这需要通过具体的算法实现来确定,这个数据结构的实现过程如下:

class Deque:
    def __init__(self):
        self.items = []

    def isEmpty(self):
        return self.items == []

    #   front表示的是队列的右边,rear表示的是队列的左端。

    def addFront(self, item):
        self.items.append(item)

    def addRear(self, item):
        self.items.insert(0, item)

    #   remove方法都会具有一个返回值
    def removeFront(self):
        return self.items.pop()

    def removeRear(self):
        return self.items.pop(0)

    def size(self):
        return len(self.items)

得解。

以上是关于数据结构与算法:双端队列的主要内容,如果未能解决你的问题,请参考以下文章

Python数据结构与算法---双端队列deque

数据结构与算法:双端队列

从0开始学算法--数据结构(2.4双端队列与单调队列)

数据结构与算法笔记——队列(FIFO队列双端队列)

《Java数据结构与算法》笔记-CH5-链表-5用双端链表实现队列

算法漫游指北(第六篇)双端队列排序算法分类排序算法的稳定性排序算法复杂度