算法导论 学习笔记 第六章 堆排序
来源:互联网 发布:吉比特和电魂网络比较 编辑:程序博客网 时间:2024/06/05 19:39
这一章主要讲了两个点:1.堆排序。2.堆排序的应用(优先级队列)
堆排序
堆
堆是一种完全二叉树(不理解)。反正是一种树状的数据结构了吧。有几种操作。求左子节点(2i),求右子节点(2i+1),求父节点(i/2)下取整。保持最大堆结构(max-heapfiy)建堆(building a heap)然后这些属性就可以实现堆排序了
如果书上的内容初看有点看不懂可以看看这个百度经验
书上的伟大码比较容易看懂,然后自己再画一画就可以理解了。
优先级队列
这个就是堆排序的一种用法吧。就像是如果有一堆的任务。就给每一个任务一个优先级(关键字)。你可以用关键字很容易找出你想找的任务。有一下几种操作: HEAP-MAXIMUM(A) 返回最大值 HEAP-EXTRACT-MAX(A) 返回最大值并删除 HEAP-INCREASE-KEY(A,I,KEY) 将i的关键字值编程key HEAP-INSERT(A,KEY) 将key插入
这里有些心得:一开始的时候觉得伪代码比较难懂。还不如源代码咧。但是现在我不这么觉得了。。
伪代码真是好东西,越看越喜欢。我要学一学怎么在博客上写伪代码了。
阅读全文
0 0
- 算法导论学习笔记-第六章-堆排序
- 《算法导论》学习笔记--第六章 堆排序
- 算法导论 学习笔记 第六章 堆排序
- 《算法导论》第六章 堆排序 笔记
- 算法导论: 第六章 堆排序算法
- 学习《算法导论》第六章 堆排序 总结
- 学习《算法导论》第六章 堆排序 总结二
- 算法导论读书笔记 第六章 堆排序
- 算法导论第六章:堆排序
- 算法导论第六章 堆排序总结
- 算法导论第六章 堆排序
- 算法导论 第六章 堆排序
- 【算法导论】第六章之堆排序
- 算法导论第六章 堆排序
- 堆排序(算法导论第六章)
- [算法导论]第六章《堆排序》
- 算法导论第六章堆排序思考题
- 算法导论第六章 堆排序
- 支付系统中的对账处理
- My Redis Note
- 关于Java并发编程的总结和思考
- Android 平台的 10 款开源任务管理和时间追踪应用
- C++设计模式-Singleton
- 算法导论 学习笔记 第六章 堆排序
- spice协议详解(一):spice协议入门
- Android短信自动添加功能
- C++设计模式-Builder建造者模式
- 正确使用 Volatile 变量
- rvds2.2\rvds4.0按照网上的按照破解方法多次安装破解失败的一种解决方法
- mysql,命令导入\导出表结构或数据
- NestedScrollView嵌套RecyclerView滑动冲突
- C++实现动态顺序表