问题标签 [priority-queue]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 尝试用 Java 编写优先级队列,但得到“线程“主”java.lang.ClassCastException 中的异常”
对于我的数据结构类,我正在尝试编写一个模拟洗车的程序,并且我想使用优先级队列为高档汽车赋予比普通汽车更高的优先级。我遇到的问题与 Java 无法将“Object”类型转换为“ArrayQueue”(一个简单的 FIFO 实现)有关。我做错了什么,我该如何解决?
编辑
谢谢你们两位对这个问题的快速回答。我按照您的建议和另一段代码解决了这个问题:
c++ - STL priority_queue 的效率
我有一个应用程序(C++),我认为 STL 可以很好地服务priority_queue
。 文档说:
Priority_queue 是一个容器适配器,这意味着它是在一些底层容器类型之上实现的。默认情况下,底层类型是矢量,但可以显式选择不同的类型。
和
优先级队列是一个标准概念,可以通过多种不同的方式实现;此实现使用堆。
我之前假设是,那将是一个top()
(我首先选择的两个原因) - 但文档既没有证实也没有否认这个假设。O(1)
push()
O(logn)
priority_queue
深入挖掘,序列概念的文档说:
单元素插入和擦除的复杂性取决于序列。
使用priority_queue
a vector
(默认情况下)作为堆,其中:
... 支持对元素的随机访问,在末尾的恒定时间插入和移除元素,以及在开始或中间的线性时间插入和移除元素。
我推断,使用默认priority_queue
的top()
isO(1)
和push()
is O(n)
。
问题1:这是正确的吗?(top()
访问是O(1)
和push()
是O(n)
?)
问题 2:如果我使用 a (or ) 而不是 a来实现 ,我能否O(logn)
提高效率?这样做会有什么后果?其他哪些操作会因此受到影响?push()
set
multiset
vector
priority_queue
注意:我在这里担心的是时间效率,而不是空间。
java - 由自定义标头设置的 JMS 优先级
有没有办法根据自定义标头值对 JMS 代理中的消息进行优先级排序?
例如:“购买日期”。首先获得最老的等。
请指教。
java - Java:PriorityQueue 从自定义比较器返回不正确的顺序?
我编写了一个自定义比较器来比较我的节点类,但是 java 优先级队列没有以正确的顺序返回我的项目。
这是我的比较器:
其中 getF 返回一个双精度值。然而,在将几个节点插入优先级队列后,我使用以下命令将它们打印出来:
结果是:
任何想法为什么会这样?我的比较器错了吗?谢谢。
麦克风
c++ - STL 优先队列 - 删除项目
我想使用 C++ STL priority_queue容器适配器实现一个定时器排队系统。
我的问题是我想偶尔取消一个计时器,但是没有接口可以让我轻松删除priority_queue中不是顶级项目的项目。
有什么建议么?。
感谢您的帮助。
java - 推入优先队列
我想将一些 int 推送到优先队列,但我不能!我使用了 queue.add() 代码,但此代码将返回排序后的队列,请帮助,谢谢!
ruby-on-rails - Delayed_job 自定义失败断言?
我正在使用delayed_job 作为优先级队列。我想知道我如何定义失败的工作是什么?
谢谢。
java - 高效的优先级列表
我正在寻找一种有效的数据结构来表示优先级列表。具体来说,我需要为一组项目分配优先级,并且只返回得分最高的项目。我研究了在堆上运行的优先级队列,但它们似乎并不真正适合我的需要。一旦我从队列中轮询最高评分项目,他们就会重新组织堆结构。
最简单的解决方案当然是链表,在最坏的情况下,插入操作需要很长时间。
有没有人有更好的解决方案?
c++ - 如何在 C++ 中使用优先级队列?
例如我们有priority_queue<int> s;
其中包含一些元素。以下代码的正确形式是什么:
python - 创建 python 优先级队列
我想在 python 中构建一个优先级队列,其中队列包含不同的字典及其优先级编号。因此,当调用“get 函数”时,优先级最高(编号最小)的字典将被拉出队列,而当调用“add 函数”时,新字典将被添加到队列中并根据其排序优先编号。
请帮忙...
提前致谢!