原文:面试被问傻!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