1)堆筛选算法HeapAdjust 的一个前提是假设的是左右两个子树都是最大堆或最小堆了,也就是只有根节点是无序的。通过这道题比较深刻理解了堆排序的算法。
2)向堆中插入一个元素的方法
如何在一个已调整好的最大堆中添加一个元素呢?想到的一个方法就是将该元素置于最后位置,然后对整个数组加上这个最后的元素进行堆排序,这时之前有序的堆貌似就没多大作用了。第二个方法是采用类似于冒泡的思想,其实利用已经是堆的原理,这样的话时间复杂度为堆的深度吧。
3)如何在堆中删除一个元素呢?编程之美中说时间复杂度也是树的深度,这个由于时间关系没有去仔细想。
分享到:
相关推荐
笔记笔记笔记笔记笔记笔记笔记笔记笔记算法笔记算法笔记算法笔记算法笔记算法笔记
快速排序算法的编码和优化 快速排序的基本思路是: 1. 先通过第一趟排序,将数组原地划分为两部分,其中一部分的所有数据都小于另一部分的所有数据。原数组 被划分为2份 2. 通过递归的处理, 再对原数组分割的两...
Java游戏编程读书笔记,Java游戏编程读书笔记
自己刚刚开始学习排序算法,第一个排序算法:冒泡排序。以及在学习过程中做的一些笔记。
读书笔记软件 编程笔记 学习笔记 不满你找我 可以直接复制doc的内容 效果一样 支持搜索
JavaScript学习笔记之取数组中最大值和最小值_.docx
《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版
更多内容请关注http://blog.csdn.net/PowerRock/
kafka消息队列学习笔记,kafka消息队列学习笔记,kafka消息队列学习笔记,kafka消息队列学习笔记,kafka消息队列学习笔记,kafka消息队列学习笔记,kafka消息队列学习笔记,kafka消息队列学习笔记,kafka消息队列...
《C++编程思想》阅读笔记.pdf 《C++编程思想》阅读笔记.pdf
我做的算法导论读书笔记,这是第三个了。请大家提供意见和建议,也欢迎大家一起交流。 关于该系列读书笔记的详情和进展请看我的博客http://blog.csdn.net/PowerRock
我做的算法导论读书笔记。请大家提供意见和建议,也欢迎大家一起交流。
高手编程笔记 蓝牙协议读书笔记 高手编程笔记 蓝牙协议读书笔记 高手编程笔记 蓝牙协议读书笔记
《编程珠玑》读书笔记
shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人笔记shell编程个人...
unix网络编程-第三版读书笔记unix网络编程-第三版读书笔记
《LINUX与UNIX SHELL编程指南》读书笔记.pdf
Java编程思想(第4版)读书笔记by CZFJava编程思想(第4版)读书笔记by CZFJava编程思想(第4版)读书笔记by CZF
网上找到的Python编程金典读书笔记.txt