`

TOPK

阅读更多
实现思路:

TopN算法:从已经存在的数组中,找出最大(或最小)的前n个元素。

算法(以找最大的n个元素为例):
1. 取出数组的前n个元素,创建长度为n的小根堆;
2. 从n开始循环数组的剩余元素,如果当前元素比小根堆的根节点大,则将当前元素设置成小根堆的根节点,并通过调整让堆保持小根堆;
3. 循环完成后,小根堆中的所有元素就是需要找的最大的n个元素;
4. 根据需要对小根堆中的所有元素继续利用堆排序算法进行排序。




相关知识:

Algorithm之排序之堆排序(Heap Sort)
https://lixh1986.iteye.com/blog/2354246

https://blog.csdn.net/xiao__gui/article/details/8687982

https://www.jianshu.com/p/d292401a183a


















































-
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics