具有减少键和增加键操作的堆

HeapDict的Python项目详细描述


heapdict实现了可变映射abc,这意味着它工作得很好 很像普通的Python dict,它被设计成 优先级队列,按如下方式添加和使用项目:

hd = heapdict()
hd[obj1] = priority1
hd[obj2] = priority2
# ...
obj = hd.pop()

与普通dict相比,heapdict有以下区别:

popitem():
移除并返回(键,优先级)对 优先级,而不是随机对象。
peekitem():
返回优先级最低的(键,优先级)对,而不返回 取出。

与python标准库的heapq模块不同,heapdict 支持有效地改变现有对象的优先级 (教科书中常称为“减少键”)。更改优先级是 对于许多算法,如dijkstra算法和a*,都很重要。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java Spring REST API JSON在postman中显示,但在测试中未“看到”   java如何以编程方式检查旋转设备?   java力穷举开关   amazon web services DynamoDB从Java更新列表失败   java Android studio IDE更改波斯注释字体   java如何将postgresql添加到OpenShift Spring应用程序?   java RecycleView分页是否在末尾添加新项?   如何通过java获取移动设备信息?   java为什么Apache Commons StringEscapeUtils escapeXML10不能在groovy中工作?   函数式编程java curry现有的静态函数   java与JList的合作