我正在解决leetcode上的一个问题,有人告诉我,使用集合实例化PriorityQueue需要O(n)时间,而addAll方法需要O(nlogn)时间。它是否正确? 我找不到任何证据。
https://www.techiedelight.com/find-kth-largest-element-array/这个网站的第三种方法使用addAll(List)创建一个PriorityQueue真的是O(n)吗?
答案 0 :(得分:0)
PriorityQueue从AbstractQueue获取addAll方法。 documentation表示addAll方法只是遍历提供的Collection。所以我说addAll需要O(n)时间。如果您不相信,请看看the source code。