1。什么是优先级队列优先级队列是一种抽象数据类型,类似于常规队列或堆栈数据结构,但每个元素也有一个关联的“优先级”。在优先级队列中,优先级较高的元素在优先级较低的元素之前得到服务。如果两个元素具有相同的优先级,它们将根据它们在队列中的顺序被服务。2.优先级队列在Python中的实现下面的python程序使用heapq模块实现了一个简单的优先级队列:PriorityQueue.pyimportheapqclassPriorityQueue:def__init__(self):self._queue=[]self._index=0defpush(self,项目,优先级):heapq.heappush(self._queue,(-priority,self._index,item))self._index+=1defpop(self):returnheapq.heappop(self._queue)[-1]3.Python优先级队列示例让我们看一个如何使用上面创建的优先级队列的示例。example.pyclass项目:def__init__(self,name):self.name=namedef__repr__(self):return'Item({!r})'.format(self.name)>>>q=PriorityQueue()>>>>q.push(Ite??m('how'),1)>>>q.push(Ite??m('to'),5)>>>q.push(Ite??m('do'),4)>>>q.push(Ite??m('in'),2)>>>q.push(Ite??m('java'),1)>>>q.pop()Item('to')#5>>>q.pop()Item('do')#4>>>>q.pop()Item('in')#2>>>q.pop()Item('how')#1>>>q.pop()Item('java')#1学习愉快!Python基础教程在SublimeEditor中配置Python环境在Python代码中添加注释在Python中使用变量Python中的数据类型Python中的关键字Python字符串操作Python中的列表操作Python中的元组操作Pythonmax()和min()–查找列表或数组中的最大和最小值Pythonfind最大的N(topN)或最小的N项Python在Python中使用httplib2读写CSV文件——HTTPGET和POST示例变量或参数Python拆箱Tuple——值太多无法拆包Pythonmultidict示例——映射单个键到一个字典中的多个值PythonOrderedDict——有序字典Python字典交集——比较两个字典Python优先级队列例子作者:分布式编程来源:https://zthinker.com/喜欢本文请长按二维码关注关于分布式编程。
