本文实例讲述了Python实现的数据结构与算法之双端队列。分享给大家供大家参考。具体分析如下:
一、概述
双端队列(deque,全名double-ended queue)是一种具有队列和栈性质的线性数据结构。双端队列也拥有两端:队首(front)、队尾(rear),但与队列不同的是,插入操作在两端(队首和队尾)都可以进行,删除操作也一样。
二、ADT
双端队列ADT(抽象数据类型)一般提供以下接口:
① Deque() 创建双端队列
② addFront(item) 向队首插入项
③ addRe
文章目录一、原理详解二、python实现(一)、普通队列1、python实现2、代码测试(二)、双端队列1、Python代码实现2、测试代码
一、原理详解
队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。
队列是一种先进先出的(First In First Out)的线性表,简称FIFO。
允许插入的一端为队尾,允许删除的一端为队头。队列不允许在中间部位进行操作!
假设队列是q=(a1,a2,……,an),那么a1就是队头元素,而an是队尾元素。这样我们就可以删除时