45節(jié)介紹了堆的概念和算法,上節(jié)介紹了Java中堆的實(shí)現(xiàn)類PriorityQueue,PriorityQueue除了用作優(yōu)先級(jí)隊(duì)列,還可以用來解決一些別的問題,45節(jié)提到了如下兩個(gè)應(yīng)用:
求前K個(gè)最大的元素,元素個(gè)數(shù)不確定,數(shù)據(jù)量可能很大,甚至源源不斷到來,但需要知道到目前為止的最大的前K個(gè)元素。這個(gè)問題的變體有:求前K個(gè)最小的元素,求第K個(gè)最大的,求第K個(gè)最小的。
求中值元素,中值不是平均值,而是排序后中間那個(gè)元素的值,同樣,數(shù)據(jù)量可能很大,甚至源源不斷到來。
本節(jié),我們就來探討如何解決這兩個(gè)問題。
求前K個(gè)最大的元素
基本思路
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26