树根的左节点并不是左子树最小的元素,堆维护的只是母节点和子节点之间的关系。否则堆的插入也不用O(logn)的时间了,老师这里讲错了啊

来源:10-2 外部排序分析

慕仙2869058

2018-10-11

写回答

1回答

ccmouse

2018-10-11

这边没有讲错。(最小)堆的定义是
一 树根是最小的元素
二 左子树和又子叔也都是(最小)堆

这个定义是可以得出根的左节点是左子树中最小这个结论的。

插入的话,把元素加在最右下方,然后要从下往上一层层维护上面堆的性质,所以需要O(logN)

0
0

Google面试官亲授-Java面试新手尊享课

为面试新手量身定制的Java面试尊享课,解锁“鲤鱼跃龙门”的妙招

2853 学习 · 180 问题

查看课程