【发布时间】:2018-03-13 01:05:48
【问题描述】:
给定下面的代码:
pq.offer(x);
pq.poll();
对于第一行代码,元素x被插入到优先队列pq中,offer的时间复杂度为log(k),其中k为pq的大小。
那么我的问题是,对于紧跟第一行的第二行代码,poll() 的时间复杂度是多少?
在第一行offer之后,pq已经排好序了,所以poll会简单的取出队列头,那么我认为应该是O(1),对吧?
谢谢
【问题讨论】:
-
Java
PriorityQueue中的项目未排序。项目被插入到binary heap,这是一个有序但不一定存储的数据结构。 -
@JimMischel - 它们存储得很好。只是没有排序。
-
@HenkHolterman:谢谢。看起来昨晚我是typos-r-us的CEO。
标签: java queue time-complexity big-o priority-queue