16
|
James Wierzba · 技术社区 · 7 年前 |
1
20
似乎n个元素的插入应该是O(n log n) Java优先级队列 ( Java Doc
这些时间复杂性似乎都是最糟糕的情况(
wiki
),除了
正如他们在文档中所述,PriorityQueue基于具有特定初始容量的数组。我假设增长将花费O(n)时间,这也是
为了获得添加n个元素的保证O(n log n)时间,您可以声明n个元素的大小,以省略容器的扩展:
编辑: 对于O(n)的索赔,施工时间是正确的(如@pjs在评论中所述)。此过程通常称为 heapify 并处理一个预先存在的数组,该数组用于在O(n)时间内在其上构建二叉树。 |
2
8
它是
O(N log N)
在一般情况下。一
O(N)
算法适用于输入已排序的特殊情况,但在
|
data-oil · 在字符串列表中搜索的高效快捷方法 6 年前 |
Monk · 为什么大Oh不总是算法的最坏情况分析? 6 年前 |
Qasim Idrees · 三个嵌套相关循环的算法时间复杂度分析 6 年前 |
sdweldon · O(n)vs O(nlogn)时间复杂度 6 年前 |
Dazcii · 如何找到3个嵌套循环的复杂性 6 年前 |
Kodean · Java:循环字符串长度时间复杂性 6 年前 |
Hal · 循环的时间复杂度是多少? 6 年前 |
J. Doe · 按O(n)排序的列表中的数字平方? 6 年前 |