现在的位置: 首页 > 综合 > 正文

编程之美读书笔记3.7队列中取最大值操作的问题 解法2

2013年05月19日 ⁄ 综合 ⁄ 共 249字 ⁄ 字号 评论关闭

1)堆筛选算法HeapAdjust 的一个前提是假设的是左右两个子树都是最大堆或最小堆了,也就是只有根节点是无序的。通过这道题比较深刻理解了堆排序的算法。

2)向堆中插入一个元素的方法
如何在一个已调整好的最大堆中添加一个元素呢?想到的一个方法就是将该元素置于最后位置,然后对整个数组加上这个最后的元素进行堆排序,这时之前有序的堆貌似就没多大作用了。第二个方法是采用类似于冒泡的思想,其实利用已经是堆的原理,这样的话时间复杂度为堆的深度吧。

3)如何在堆中删除一个元素呢?编程之美中说时间复杂度也是树的深度

【上篇】
【下篇】

抱歉!评论已关闭.