原文:如何從100萬個數中找出最大的前100個數

. 算法如下:根據快速排序划分的思想 遞歸對所有數據分成 a,b b b,d 兩個區間, b,d 區間內的數都是大於 a,b 區間內的數 對 b,d 重復 操作,直到最右邊的區間個數小於 個。注意 a,b 區間不用划分 返回上一個區間,並返回此區間的數字數目。接着方法仍然是對上一區間的左邊進行划分,分為 a ,b b b ,d 兩個區間,取 b ,d 區間。如果個數不夠,繼續 操作,如果個數超過 ...

2018-04-02 00:12 0 1257 推薦指數:

查看詳情

100個整數里找出100最大

  聲明:本文最初發表於《電腦編程技巧與維護》2006年第5期,版本所有,如蒙轉載,敬請連此聲明一起轉載,否則追究侵權責任。網上發表於戀花蝶的博客http://lanphaday.bokee.com   題目:從1億個整數數找出最大的1個。   拿到這道題,馬上就會想到的方法是建立一個數 ...

Wed Oct 15 00:48:00 CST 2014 1 2594
100個數找出最大的10個

1、首先一點,對於海量數據處理,思路基本上是確定的,必須分塊處理,然后再合並起來。 2、對於每一塊必須找出10個最大,因為第一塊10個最大的最小的,可能比第二塊10最大最大的還要大。 3、分塊處理,再合並。也就是Google MapReduce 的基本思想。Google ...

Sun Mar 02 23:58:00 CST 2014 2 13785
(算法)從10000個數找出最大的10個

  從10000個整數找出最大的10個,最好的算法是什么? 算法一:冒泡排序法   千里之行,始於足下。我們先不說最好,甚至不說好。我們只問,如何“從10000個整數找出最大的10個”?我最先想到的是用冒泡排序的辦法:我們從頭到尾走10趟,自然會把最大的10個數找到。方法簡單,就不再這里寫 ...

Thu Mar 21 05:10:00 CST 2013 10 19235
面試題-10億個數找出最大的10000個數(top K問題)

一個較好的方法:先拿出10000個建立小根堆,對於剩下的元素,如果大於堆頂元素的值,刪除堆頂元素,再進行插入操作,否則直接跳過,這樣知道所有元素遍歷完,堆的10000個就是最大的10000個。時間復雜度: m + (n-1)logm = O(nlogm) 優化的方法:可以把所有10億個數據分組 ...

Fri Mar 06 04:19:00 CST 2020 0 1808
關於“100g文件全是數組,取最大100個數”解決方法匯總

原題如下: 有一個100G大小的文件里存的全是數字,並且每個數字見用逗號隔開。現在在這一大堆數字找出100最大的數出來。 我認為,首先要摸清考官的意圖。是想問你os方面的知識,還是算法,或者數據結構。 如果是os: 無疑是外排序算法的選擇。100g文件在當前的環境下是無法全部讀入 ...

Tue Oct 01 00:42:00 CST 2019 3 483
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM