- 什么是堆?
- 如何存储一个堆(如何实现一个堆?)
- 堆的插入、删除操作
- 如何基于堆实现排序?(建堆和排序)
- 为什么快速排序要比堆排序性能好?
- 在讲堆排序建堆的时候,我说到,对于完全二叉树来说,下标从 2n+1 到 n 的都是叶子节点,这个结论是怎么推导出来的呢?
- 我们今天讲了堆的一种经典应用,堆排序。关于堆,你还能想到它的其他应用吗?
- 利用堆构建优先级队列:合并有序小文件,高性能定时器??
- 利用堆求 Top K(针对静态数据,如何在一个包含 n 个数据的数组中,查找前 K 10. 大数据呢,如果是针对动态数据求得 Top K 就是实时 Top K呢)?
- 利用堆求中位数(如何求动态数据集合中的中位数)?
- 假设现在我们有一个包含 10 亿个搜索关键词的日志文件,如何快速获取到 Top 10 最热门的搜索关键词呢?
- 有一个访问量非常大的新闻网站,我们希望将点击量排名 Top 10 的新闻摘要,滚动显示在网站首页 banner 上,并且每隔 1 小时更新一次。如果你是负责1开发这个功能的工程师,你会如何来实现呢?
堆和堆排序
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 从广义上来讲:数据结构就是一组数据的存储结构 , 算法就是操作数据的方法数据结构是为算法服务的,算法是要作用在特定...
- 二叉堆其实就是一棵堆有序的二叉树 开篇 本篇文章主要讲什么 此文是排序算法系列文章的倒数第三篇,因此本文的主要意图...