引言 我们之前已经学习了两种建堆的方式:向上调整建堆与向下调整建堆。那这两种算法哪一种更好哪个效率更高呢?本节内容我们将从时间复杂度的角度来进行分析比较。 向上建堆的时间复杂度 如图所示,使用向上建堆我们需要的次数为 对上述式子求和我们可以得到 又因为层数h就为二叉树的高度h,高度h与数据总个数N的关系为 联立得到 因此我们可以得到向上建堆的时间复杂度为