priorityQueue优先级队列 (python、c++)

本文介绍了优先级队列的概念,它是一种根据优先级取出元素的数据结构。在Python和C++中,优先级队列的使用使得处理如SNIC超像素分割等问题变得简单。通过链接分享了具体实现的示例代码,展示了如何在Python中直接使用以及C++中通过STL的queue头文件实现。
摘要由CSDN通过智能技术生成

优先级队列


最近用优先队列写了一个SNIC超像素分割的工程,有兴趣的可以下载看看。(VIP大佬让我赚一点下载积分吧,感激不尽)
https://download.csdn.net/download/koffee_f/10767813
之前觉得速度很慢,原来是因为一个cout没有删掉。删掉之后在release下跑很快。

优先级队列

队列就是一个先进先出(FIFO)的结构,而优先级队列则是对队列里的每一个元素设置一个优先级,取元素时先获得优先级最高的一个元素。在python和c++里都有库可以调用。(java里应该也有,但是我不会java,所以算了吧。)

今天看了SNIC超像素分割的一个程序,“每次取距离中心最近的点”这个操作,想想就很麻烦。研究发现把距离设置成优先级,然后用一个队列就解决了。对基于SDF网格的三维重建,可能也会碰到类似的需要对网格排序的情况。库帮忙自动维护这些数据,实在是太方便了。

具体的逻辑这个博客讲的非常好,有空再研究。
https://blog.csdn.net/qq_35326718/article/details/72866180
先简单记录一下怎么用

python

直接用SNIC里面的例子吧

from Queue import PriorityQueue

Q=PriorityQueue()
Q=putinQ(ck,Q,numk) #初始化Q
class NODE(object):
    def __init__(self,priority,description1,description2,description3):
        distance=int()
        xk=int()
        yk=int()
        k=int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值