优先队列,有别于普通队列的先入先出(虽然字面上还是队列,但其实无论从含义还是实现上,和普通队列都有很大的区别),也有别于栈的先入后出。在实现上,它一般通过堆这一数据结构,而堆其实是一种完全二叉树,它会对进入容器的元素进行排序(根据事先指定的规则),出队的顺序则会是二叉树的根结点代表的元素。

1. 接口介绍

import Queue

class ComparableObj:                  # 可比较对象,放入优先队列中
def __init__(self, **):
... def __cmp__(self, other): # 比较规则的指定,谁做根(大顶堆,小顶堆)
# 返回的是布尔类型
...
return True/Flase
... que = Queue.PriorityQueue() que.put(ComparableObj(**))
que.put(ComparableObj(**))
... que.qsize()
# 优先队列中元素的个数 que.get()
# 返回根(优先队列第一个出队的元素)

references

Python 的优先队列示例

最新文章

  1. Google云平台对于2014世界杯半决赛的预测,德国阿根廷胜!
  2. BZOJ 2243: [SDOI2011]染色 [树链剖分]
  3. CAN总线(一)
  4. [PL/SQL]oracle数据库的导出导入
  5. css3很酷的加载动画多款
  6. UVA 1001 Say Cheese 奶酪里的老鼠(最短路,floyd)
  7. bzoj 1314: River过河 优先队列
  8. UIPickerView(选择器)
  9. WPS 去掉自动打开的文档漫游和在线模板
  10. Android开发中在一个Activity中关闭另一个Activity
  11. Shell工具:jsondiff.sh
  12. mysql和VS2010 C++链接过程中出现的问题
  13. 实验:ignite查询效率探究
  14. 让$this->error()返回json配置
  15. jquery 点击元素以外任意地方隐藏该元素的方法
  16. Expo大作战(十四)--expo中消息推送的实现
  17. 解题:BZOJ 3622 已经没有什么好害怕的了·
  18. 使用 Gogs 搭建自己的 Git 服务器
  19. 使用 C# 编写简易 ASP.NET Web 服务器 ---- 模拟IIS的处理过程
  20. 算法笔记_197:历届试题 带分数(Java)

热门文章

  1. 从QQ聊天看交流的有效性
  2. Binary operations #1
  3. 关于hexo markdown添加的图片在github page中无法显示的问题
  4. Android eclipse 运行项目设置程序默认安装到SD卡
  5. HttpWebRequest 表单提交
  6. 简述Sql Server中常用的数据库对象(面试题)
  7. 【原创】rman备份出现ORA-19625
  8. HDU 1892 See you~ 【 二维树状数组 】
  9. php--tp5在查询到的数据中添加新字段
  10. 3ds Max 设置中文界面