gpt4 book ai didi

java - 优先队列中的元素何时排序?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:31:35 25 4
gpt4 key购买 nike

PriorityQueue 类是按优先级插入元素,还是只是在我们轮询元素时才找出最高优先级的元素并返回它?

最佳答案

来自JDK本身的源码(格式化我的):

表示为平衡二叉堆的优先级队列:queue[n] 的两个 child 是 queue[2*n+1]queue[2*(n+1)] .

优先队列按comparator排序,或者按元素的自然顺序,如果比较器为空:对于每个节点 n在堆和每个后代中dn , n <= d .具有最低值的元素在 queue[0] 中,假设队列非空。

因此,您可以将 PriorityQueue 中元素的插入/删除视为提供结果以及堆平衡的操作。

关于java - 优先队列中的元素何时排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54062589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com