原文:面試被問傻!5億個數大文件怎么排序?

曾經被問傻的一道面試題分享給你: 給你 個文件bigdata,大小 M, 億個數,文件中的數據隨機,如下一行一個整數: 現在要對這個文件進行排序,怎么搞 內部排序 先嘗試內排,選 種排序方式: 路快排: 歸並排序: 數據太多,遞歸太深 gt 棧溢出 加大Xss 數據太多,數組太長 gt OOM 加大Xmx 耐心不足,沒跑出來.而且要將這么大的文件讀入內存,在堆中維護這么大個數據量,還有內排中不斷的 ...

2020-04-27 15:08 0 1143 推薦指數:

查看詳情

面試題-10個數中找出最大的10000個數(top K問題)

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

Fri Mar 06 04:19:00 CST 2020 0 1808
如何給100個數排序

轉自:http://netsmell.com/post/how-sort-10-billion-data.html?ref=myread 海量數據處理/外部歸並排序 - 分治.cppp 今天要給100個數排序,100個 int 型數字放在文件里面大概有 37.2GB,非常大,內存 ...

Tue Oct 11 18:24:00 CST 2016 0 6089
5整數的大文件,怎么排?

問題 給你1個文件bigdata,大小4663M,5個數文件中的數據隨機,如下一行一個整數: 現在要對這個文件進行排序,怎么搞? 內部排序## 先嘗試內排,選2種排序方式: 3路快排: 歸並排序:### 數據太多,遞歸太深 ->棧溢出?加大Xss ...

Mon Jun 15 12:19:00 CST 2015 5 6997
大文件排序

如何編譯測試文件生成程序和排序程序 c++,Vs2013下開發,win10 64。 2015/10/30 如何生成測試文件 1、隨機生成一個字符串 即: 隨機生成一個長度n的字符串; 思想: 新建一個空的字符串,然后每次在字符表的字典中隨機取一個元素,添加到字符串中,重復 ...

Sun Oct 14 22:15:00 CST 2018 0 687
大文件排序

在某些應用中,因為內存資源有限制,而要排序文件很大(比如10G的文件,只有10M的內存) 主要的思想是: 1 分割文件,使分割的文件能全部加載到內存。 2 分別排序每一個分割的文件 3 合並文件 難的是合並操作 1 跌增合並,一次合並 ...

Sat Mar 24 19:43:00 CST 2012 0 3743
怎么排序大文件

排序 通常來說,外排序處理的數據不能一次裝入內存,只能放在讀寫較慢的外存儲器(通常是硬盤)上。外排序通常采用的是一種“排序-歸並”的策略。在排序階段,先讀入能放在內存中的數據量,將其排序輸出到一個臨時文件,依此進行,將待排序數據組織為多個有序的臨時文件。之后在歸並階段將這些臨時文件組合為一個 ...

Sat Sep 15 21:34:00 CST 2018 0 1883
對10個數進行排序

題目:對10個數進行排序 程序分析:可以利用選擇法,即從后9個比較過程中,選擇一個最小的與第一個元素交換, 下次類推,即用第二個元素與后8個進行比較,並進行交換。 ...

Mon Jul 10 06:18:00 CST 2017 0 2345
懵逼的面試

倉構建: 1). 前期業務調研 需求調研 數據調研 技術選型 2). 提煉業務模型,總線矩陣,划分主題域; 3). 定制規范 命名規范、開發規范、流程規范 4). 倉架構分層:一般分為 操作數據層(ODS)、公共維度模型層(CDM)和應用數據層(ADS),其中公共維度模型層包括明細 ...

Fri Jul 10 06:21:00 CST 2020 0 881
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM