Java优先级队列(堆)插入n个元素的时间复杂性?
我想知道Java对于元素的时间复杂程度是多少。PriorityQueue.Add()
n
我知道插入单个元素的潜在更糟糕的情况是,但是我不清楚插入元素集合的时间复杂度是多少?O(log(n))
n
我看过来自各种来源(没有证据)的声明,即构建元素的优先级队列堆的时间是,并且还看到过它是,这是有道理的,因为插入是,乘以时间确实等于n
O(n)
O(nlog(n))
O(log(n))
n
O(nlog(n))
注意:我只对更糟糕的情况感兴趣,而不是摊销。
这个问题假设有一种逻辑方法来描述用元素填充数据结构(堆)的行为,这与简单地单独考虑x插入不同。n
n
log(n)
我没有对输入做任何假设(例如输入值集的边界,或部分有序的输入)。