社区
数据结构与算法
帖子详情
哪位高人可以由浅入深的讲解一下 Top k查询算法
vsign88
2010-12-02 02:34:52
如题,本人对这个算法完全不懂可是手头又有个project要做,想请教谁知道这个算法的讲解一下,越详细越好,多谢啦~
...全文
342
5
打赏
收藏
哪位高人可以由浅入深的讲解一下 Top k查询算法
如题,本人对这个算法完全不懂可是手头又有个project要做,想请教谁知道这个算法的讲解一下,越详细越好,多谢啦~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
AAA20090987
2010-12-03
打赏
举报
回复
这个问题已经被讨论过无数次了
方法1:先用数组的前K个元素建立一个小根堆,然后遍历整个数组,如果第i个元素大于小根堆的根,就对小堆进行弹出操作,再把这个元素加入小根堆中,最后将小根堆中的元素排序。
方法2:用快速排序的推论求出第K大的元素,再将数组中小于它的元素取出,并排序。
Afzarka
2010-12-03
打赏
举报
回复
http://blog.csdn.net/pennyliang/archive/2009/10/08/4642641.aspx
yui
2010-12-02
打赏
举报
回复
查询top k,也就是要找排序后的前k项。
最简单的做法,就是对整个数组做一次完整的排序,然后从第0项开始输出,直到第k项终止。
但这样做,对第k项及其以后的元素的排序是多余的,因为要求只是查询前k项。如果整个数组有N个元素,而且N远远大于k,那么这样的做法效率很低。
所以,查询top k一般是采用堆排序的思想。所以,学会这个算法首先要熟悉堆排序算法,否则不容易明白。
另一道题是查询第k项,这又不一样了,应用的是快速排序的思想,前置知识是快速排序算法。
Oo纳兰筱DoO
2010-12-02
打赏
举报
回复
等待高手,学习一下
yaoweijq
2010-12-02
打赏
举报
回复
top k查询?何意?
不如详细描述下需求
Struts,Hibernate,Spring集成开发宝典.pdf
《Struts Hibernate Spring集成开发宝典》选取的实例繁简适中,与实际开发工作紧密结合,内容
讲解
由浅入深
、循序渐进,可以满足不同层次读者的需求。 作者简介 陈天河,具有多年的软件开发经验,从事基于Java的Web...
Hadoop权威指南 中文版
本书从hadoop的缘起开始,
由浅入深
,结合理论和实践,全方位地介绍hado叩这一高性能处理海量数据集的理想工具。全书共14章,3个附录,涉及的主题包括:haddoop简介:mapreduce简介:hadoop分布式文件系统;hadoop的i...
ActiveMq
由浅入深
讲解
+面试题50道
讲解
本课程共分36节,内容包括MQ概述和工作流程,启动过程与启动异常分析,消息的基本模型,基于队列的生产者和消费者,基于发布-订阅的生产者和消费者,消息的同步消费和异步消费,消息的数据类型,身份认证,持久化...
OpenStack开源云王者归来
《OpenStack开源云王者归来:云计算虚拟化Nova、Swift、Quantum与Hadoop》按照入门、剖析、扩展的讲授方式,
由浅入深
地介绍了开源云计算平台OpenStack(Grizzly版本)的整体框架、安装部署、源码剖析及扩展开发。...
Java 面向对象编程.pdf
《Java 面向对象编程》内容
由浅入深
,紧密结合实际,利用大量典型实例,详细
讲解
Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结优化Java编程的各种宝贵经验,深入阐述Java虚拟机执行...
数据结构与算法
33,006
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章