Python语言内置了很多常见的数据结构,不仅能够让你的程序运行速度更快还能帮助你简化开发流程,下面小千就来给大家介绍一下这个双向队列。
collections模块中的deque类,就是双向队列,这种队列可以从头部或者尾部添加或者移除元素,这种操作的所消耗的时间时常数级别的,所以它非常合适表示先进先出的队列。
这种情况下,也许有人会说列表也可以做这种操作的,那么区别是什么?区别是列表是单向的,在尾部添加或者移除数据的操作耗时是常数级别的,但是如果在头部添加或者移除数据却是线性级别(耗时与数据大小成正比)的,那么对比双向队列来说,就慢许多了,可以看下面代码
从上面两组数据来看,列表list做先进先出操作耗时比双向队列deque完成相应的操作多很多的。所以要完成先进先出的队列操作时应该选择双向队列deque.
以上就是Python双向队列的介绍了,同学们记得自己上手去试一试加深记忆