python实现栈和队列(Python利用heapq实现一个优先级队列的方法)
类别:脚本大全 浏览量:2573
时间:2022-04-01 01:17:39 python实现栈和队列
Python利用heapq实现一个优先级队列的方法实现一个优先级队列,每次pop的元素要是优先级高的元素,由于heapq.heapify(list)默认构建一个小顶堆,因此要将priority变为相反数再push,代码如下:
|
import heapq class priorityqueue( object ): """实现一个优先级队列,每次pop优先级最高的元素""" def __init__( self ): self ._queue = [] self ._index = 0 def push( self ,item,priority): heapq.heappush( self ._queue,( - priority, self ._index,item)) #将priority和index结合使用,在priority相同的时候比较index,pop先进入队列的元素 self ._index + = 1 def pop( self ): return heapq.heappop( self ._queue)[ - 1 ] if __name__ = = '__main__' : pqueue = priorityqueue() pqueue.push( 'd' , 4 ) pqueue.push( 'f' , 3 ) pqueue.push( 'a' , 6 ) pqueue.push( 's' , 2 ) print (pqueue.pop()) print (pqueue.pop()) print (pqueue.pop()) |
以上这篇python利用heapq实现一个优先级队列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/Jmiew123/article/details/68951054
您可能感兴趣
- rabbitmq延迟队列原理(Rabbitmq heartbea心跳检测机制原理解析)
- python栈和队列(Python 实现数据结构中的栈队列)
- laravel多线程处理请求(Laravel 6 将新增为指定队列任务设置中间件的功能)
- python队列快速排序(python按照多个条件排序的方法)
- laravel队列大批量数据(laravel 中某一字段自增、自减的例子)
- laravel队列流程(Laravel 创建指定表 migrate的例子)
- php中数组使用技巧(php常用经典函数集锦数组、字符串、栈、队列、排序等)
- asp.net 消息队列
- python线程安全队列(Python 限制线程的最大数量的方法Semaphore)
- thinkphp5如何实现消息队列(thinkPHP5.1框架使用SemanticUI实现分页功能示例)
- node中如何用import(分析node事件循环和消息队列)
- laravel使用队列(基于laravel where的高级使用方法)
- php redis配置(php+redis实现消息队列功能示例)
- phpredis怎么设置队列(php使用lua+redis实现限流,计数器模式,令牌桶模式)
- python中怎么实现队列的创建(python 堆和优先队列的使用详解)
- php 创建定时任务(PHP扩展Swoole实现实时异步任务队列示例)
- 散文 八月再见,九月,我在风中等你(散文八月再见九月)
- 8月再见 9月你好(8月再见)
- 魔兽世界 设计师爆料,原始版本并无PVP,跨阵营属于返璞归真(魔兽世界设计师爆料)
- 吐槽完《弧光大作战》之后,我们和设计师聊了聊魔兽首款手游的立项初衷和未来(吐槽完弧光大作战之后)
- 魔兽争霸3自定义战役少年杰雷 2(魔兽争霸3自定义战役少年杰雷)
- 今日菜价 芥兰涨幅最高 1.33 ,花菜降幅最高 3.10(今日菜价芥兰涨幅最高)
热门推荐
- 查询按照部门分组的mysql语句(Mysql根据某层部门ID查询所有下级多层子部门的示例)
- docker阿里云服务器教程(Docker安装阿里云服务器和在虚拟机安装遇到的坑问题小结)
- laravel命令大全详解(Laravel框架中缓存的使用方法分析)
- python函数使用方法高级用法(Python骚操作之动态定义函数)
- 动画用css3还是js(前端制作动画的几种方式css3,js)
- amazeui怎么设置侧边栏(AmazeUI 等分网格的实现示例)
- css中ul li的用法
- python实现网络爬虫的步骤(Python实现的爬取小说爬虫功能示例)
- 虚拟环境python详细教程(python创造虚拟环境方法总结)
- python微信窗口内容获取(python使用wxpy轻松实现微信防撤回的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9