TopK問題

給你1億個不重複的數字(整數,1~2^32-1),求出top10。前10大的數字,還可動態添加新數字,但總個數不會超過1億。 冒泡 冒泡是一個很常見的排序方法,每冒一個泡,找出最大值,冒k個泡,就得到TopK 時間複雜度:O(n*k) 堆 先用前k個元素生成一個小頂堆,這個小頂堆用於存儲,當前最大的k個元素 接着,從第k+1個元素開始掃描,和堆頂(堆中最小的元素)比較,如果被掃描的元素大於堆頂,則
相關文章
相關標籤/搜索