单端队列

  用于同一进程中的队列,可以叫做单进程队列。

  queue

  遵循先进先出,先进去的必须先出来

  1、先进先出:

  impore queue

  q = queue.Queue()    实例化一个对象

  q.put(1)         put()  放值

  q.put('abc')

  q.put([1,2,3])

  q.get()          get()  取值   谁先进去,就先取谁。

  2、后进先出:

  import queue

  q = queue.LifoQueue()    

  q.put(1)

  q.put(2)

  print(q.get())

  print(q.get())

  3、优先级队列

  import queue

  q = queue.PriorityQueue()

  q.put((1,'aa'))    优先级队列放的是一个元组,且第一位如果是数字,数字越小优先级越高,优先往出取。(包括负数)

  q.put((2,'bb'))

  q.put(('a','ss'))    优先级队列中的元组如果第一位是字符串,那么就比较它的ASCII码的数值,ASCII码越小越好。

  q.put('1','xx'))

  注意:如果一个队列中既放了数字开头的优先级元祖,又放了字符串开头的优先级元组,将无法比较。

双端队列

  deque

  clooection 实际上是一个包,deque是他里边的一个模块。所以导入的时候是

  from collection import deque

  

  双端队列  和 列表的 remove / insert 时,效率是有差别的。双端队列会很快。因为双端队列底层用的是链表。

  

  

collection 模块 双端队列的更多相关文章

  1. python双端队列-collection模块

    双端队列(double-ended queue,或者称deque)在需要按照元素增加的顺序来移除元素时非常有用.其中collection模块,包括deque类型. 使用实例:

  2. python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/signjing/article/details/36201499 标准库:一些最爱 集合.堆和双端队 ...

  3. 算法-deque双端队列

    Python的deque模块,它是collections库的一部分.deque实现了双端队列,意味着你可以从队列的两端加入和删除元素 1.基本介绍 # 实例化一个deque对象d = deque()d ...

  4. lintcode二叉树的锯齿形层次遍历 (双端队列)

    题目链接: http://www.lintcode.com/zh-cn/problem/binary-tree-zigzag-level-order-traversal/ 二叉树的锯齿形层次遍历 给出 ...

  5. lintcode 滑动窗口的最大值(双端队列)

    题目链接:http://www.lintcode.com/zh-cn/problem/sliding-window-maximum/# 滑动窗口的最大值 给出一个可能包含重复的整数数组,和一个大小为  ...

  6. STL---deque(双端队列)

    Deque是一种优化了的.对序列两端元素进行添加和删除操作的基本序列容器.它允许较为快速地随机访问,但它不像vector 把所有的对象保存在一块连续的内存块,而是采用多个连续的存储块,并且在一个映射结 ...

  7. hdu-5929 Basic Data Structure(双端队列+模拟)

    题目链接: Basic Data Structure Time Limit: 7000/3500 MS (Java/Others)    Memory Limit: 65536/65536 K (Ja ...

  8. HDU 4286 Data Handler --双端队列

    题意:有一串数字,两个指针,然后一些添加,删除,反转,以及移动操作,最后输出序列. 解法:可以splay做,但是其实双端队列更简便. 维护三个双端队列LE,MI,RI分别表示[L,R]序列左边,[L, ...

  9. 双端队列(单调队列)poj2823 区间最小值(RMQ也可以)

    Sliding Window Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 41844   Accepted: 12384 ...

随机推荐

  1. [uiautomator篇][python] wifi接口学习网址

    https://wifi.readthedocs.io/en/latest/wifi_command.html#usage

  2. 【UML】UML所扮演的角色(视频总结)

    导读:在国庆中,把UML视频看完了.看完了之后,对于自己到底留下了什么呢,在此就总结一下,前面总结了UML的9种图以及主要的关系,本篇博客,就从整体上对UML做一个说明. 一.总体概述 UML一共讲了 ...

  3. HackerRank# Red John is Back

    原题地址 简单动归+素数判定,没用筛法也能过 代码: #include <cmath> #include <cstdio> #include <vector> #i ...

  4. BZOJ 1185 [HNOI2007]最小矩形覆盖 ——计算几何

    程序写的太垃圾,卡不过去. GG,甘拜下风. #include <map> #include <cmath> #include <queue> #include & ...

  5. 算法复习——平面分治(hud1007)

    题目: 问题描述 : Have you ever played quoit in a playground? Quoit is a game in which flat rings are pitch ...

  6. uva 1426 离散平方根

    1426 - Discrete Square Roots Time limit: 3.000 seconds A square root of a number x <tex2html_verb ...

  7. STL学习笔记(四) 迭代器

    条款26:iterator 优先于 const_iterator, reverse_iterator, const_reverse_iterator iterator, reverse_iterato ...

  8. 将RabbitMq用好需要了解的一些基础知识

    本文面向有一定RabbitMq基础的童鞋. 首先,我们来理理RabbitMq的一些基本概念: Connection: 客户端与RabbitMq服务器节点的Tcp链接. Channel: 信道,因为一条 ...

  9. The Closest M Points BZOJ 3053

    The Closest M Points [问题描述] 软工学院的课程很讨厌!ZLC同志遇到了一个头疼的问题:在K维空间里面有许多的点,对于某些给定的点,ZLC需要找到和它最近的m个点. (这里的距离 ...

  10. tensorflow加载embedding模型进行可视化

    1.功能 采用python的gensim模块训练的word2vec模型,然后采用tensorflow读取模型可视化embedding向量 ps:采用C++版本训练的w2v模型,python的gensi ...