如何解决Java优先级队列如何工作?
我似乎找不到任何信息来回答我的问题。因此,Java PriorityQueue是使用堆构建的。堆的插入和删除时间为O(logn),因此,如果我要进行的堆排序为O(nlogn)。
但是在创建堆期间,它只需要O(n)时间。所以可以说我把线放在
PriorityQueue<Character> heap = new PriorityQueue<>(list);
Java是使用值构建数据结构,以便使其O(n)还是随后插入以便使其O(nlogn)?
解决方法
从未排序的列表中初始化它时,它使用O(n)heapify
方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。