如何构建堆是O(N)时间复杂度?有人能帮助解释如何构建堆是O(N)复杂性吗?将项插入堆是O(log n),插入重复n/2次(剩余的是叶子,不能违反堆属性)。因此,这意味着复杂性应该是O(n log n)我想。换句话说,对于我们“堆化”的每一项,到目前为止,对于堆(这是logn级),它可能必须对每个级别过滤一次。我遗漏了什么?
3 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
A 大分析
build_heap
heapify
O(log n)
heapify
2^(h)
heapify
2^(h − 1)
2^(h − 2)
O(log n)
O(n)
.
添加回答
举报
0/150
提交
取消