我正在编写一个无锁 C 库,并且我将实现一个优先级队列。然而,我的库的目标不是数据结构的完整性,我只是想实现一些典型的,然后编写一个微基准来表明无锁的在某些特殊情况下比基于锁的表现更好。所以我想知道是否有一些典型的应用程序优先级队列发挥着重要作用。 (开源项目是最好的。)然后我可以将它们作为基准。
最佳答案
列出一些:
1。 Dijkstra 的最短路径算法
2.Prim算法
3. 用于数据压缩的霍夫曼编码。
4.堆排序
5.服务器负载均衡。
以下指出了各种应用:
https://www.cdn.geeksforgeeks.org/applications-priority-queue/
此外,wiki 本身有一个广泛的应用程序和参数列表,您可以根据这些列表进行比较(请参阅运行时间摘要部分): https://en.wikipedia.org/wiki/Priority_queue
关于multithreading - 优先级队列的现实示例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48364680/