首先,对于这个这样一个问题,我们肯定不能直接一次性全部将数据加载到内存里面。

解决思路:

1.先将这个文件里面的值拆分成多个文件,每个文件大小差不多512M。

2.在这1000个小文件里面的值进行排序去重

分两种情况:

① 如果里面的数值不是很大,这样拼接1000文件数值,拼接,去重,排序。对于8G的内存计算机应该是可以处理的。

② 文件里面的数值就是坑爹的大。

3.对于②处理也很简单,对于1000小文件,比如就按升序排序,我们不是已经拿到了每个的 排序么。我们把1000个文件里面最小的值(也就是第一个)拿出来,并把他们从这些文件中删除,拿这些最小值去重排序作为第一个文件,

4.重复上面的步骤,这样我们也得到1000个 这样排好序的文件。

举例

如果有个文件(-1,5,2,1,4,3,2,4,5)

第一步:截取,每3个一个文件得到(-1,5,2),(1,4,3),(2,4,5)

第二步:去重排序(-1,2,5),(1,3,4),(2,4,5)

第三步:拿第一个去重排序得到新的3个小文件(-1,1,2),(2,3,4),(4,5)

看到了吧!按从小到大的顺序就出来了,我们最后都知道(-1,5,2,1,4,3,2,4,5)文件从小到大的顺序是-1,1,2,3,4,5。

如果有一个500G的超大文件,里面都是数值,如何对这些数值排序?相关推荐

  1. 为什么一个盘里的文件夹都不见了,里面一片空白,但那些文件所占的内存却还在的,但好像没被删除

    硬盘空间占用但没文件,硬盘空间占用但文件消失了为什么一个盘里的文件夹都不见了,里面一片空白,但那些文件所占的内存却还在的,但好像没被删除 工具/软件:AornData软件 步骤1:先百度搜索并下载程序 ...

  2. webuploader+PHP实现超大文件分片上传的功能

    在开发<工单地图>的时候,后台平面图上传的功能需要处理10M以上大小的文件上传,单个超大文件上传的时候容易出现各种问题,后来采用了分片上传的思路.将大文件分成多个小的文件分片,逐个上传到服 ...

  3. php写入大文件内容_用PHP读取超大文件的实例代码

    数据量大带来的问题就是单个文件很大,能够打开这个文件相当不容易,记事本就不要指望了,果断死机 去年年底的各种网站帐号信息的数据库泄漏,很是给力啊,趁机也下载了几个数据库,准备学学数据分析家来分析一下这 ...

  4. java写大文件_java实现超大文件的读写功能

    对于几百M或上G的大文件可使用java nio进行读写 , 根据个人的需求 可能需要将一个超大文件读写形成很多较小的文件进行分析,这也不是什么难事,在读完一个缓冲区后 更换写入的对象即可,本文就不做详 ...

  5. golang mysql大量写入_Golang 实现分片读取http超大文件流和并发控制

    分片读取http超大文件流 Golang中的HTTP发送get请求,在获取内容有两种情况. Golang发送http get请求方式 resp, err := http.Get(sendUrl) if ...

  6. php 远程下载大文件,php下载远程文件(支持断点续传,支持超大文件)

    断点下载的原理:http请求头添加Range参数告诉文件服务器端需要的字节范围 例如1个文本文件的字节为1000, 第一次请求Range: bytes=0-500 第二次请求Range: bytes= ...

  7. 使用分页方式读取超大文件的性能试验

    Read extreme large files using paging by Nobi Conmajia (conmajia@gmail.com) May 15th, 2012 (注:本文使用Fi ...

  8. php 百度网盘上传文件大小限制吗,百度云存储,curl_百度云存储如何上传数G超大文件(视频类)和防盗链等一系列问题,百度云存储,curl - phpStudy...

    百度云存储如何上传数G超大文件(视频类)和防盗链等一系列问题 最近在开发一个视频网站,打算用百度开放云平台上的云存储,但视频较大,一般有几个G(高清电影).1G一下的视频管理控制台里能用页面上传,但1 ...

  9. 区块链亲民应用场景大猜想 第一次或将献给超大文件传输

    区块链亲民应用场景大猜想 第一次或将献给超大文件传输 提及区块链,相信大部分人既熟悉又陌生,熟悉是因为比特币这些年的跌宕起伏,让人蠢蠢欲动却又望而生畏:陌生是因为这是一个全新的东西,并没有走进寻常百姓 ...

最新文章

  1. 使用ASP.NET MVC Futures 中的异步Action
  2. 计数信号量的删除与状态查询
  3. 进程间通信之-共享内存Shared Memory--linux内核剖析(十一)
  4. php 跳转到指定url_PHP想要实现页面跳转功能具体怎么操作?(函数标签示例)...
  5. 计算机系统的备份与还原实验报告,数据库《数据备份与还原》实验报告.doc
  6. Spark Yarn Client模式spark.driver.host导致 Cannot assign requested address: Service ‘sparkDriver‘ failed
  7. c lambda表达式 select 改变字段名称_大神是如何学习 Go 语言之浅谈 select 的实现原理...
  8. 剑指Offer之平衡二叉树
  9. curl返回常见错误码
  10. linux底层内存管理--内核空间的伙伴系统
  11. android 纳秒级计时器,RDTSC指令实现纳秒级计时器
  12. Java研发岗面试复盘总结附答案+考点
  13. 超级玛丽3号max即将停售70版本,到底保障如何,值不值得购买呢
  14. 非常棒的开源协同办公OA项目,收藏了!
  15. MMA-Mathematica定义函数
  16. Tomcat中如何配置使用APR
  17. QTreeview中虚线框解决办法(QWidget控件祛除焦点)
  18. 第12章、类和动态内存分配
  19. 关于考试系统的ajax提交单个答案的压力测试
  20. 手动查杀浏览器劫持病毒

热门文章

  1. 基于 Canvas 的 HTML5 交互式地铁线路图
  2. 学习笔记(05):自然语言处理Word2Vec视频学习教程-影评情感分类任务概述
  3. Matlab入门:与矩阵相关的一些指令等
  4. crf的Python实现代码
  5. ApiCloud云编译失败
  6. CF1611D Weights Assignment For Tree Edges
  7. EQ笔记1-什么叫均衡器-百度百科 转载
  8. 【VC ++ 2010】 C语言 计算机二级编译器 Visual C ++ 2010 Express(中文学习版)的安装与使用
  9. css3 骨架屏样式_在我们的骨架页面构建中添加样式
  10. 2017计算机应用基础统考,计算机应用基础统考练习题「附答案」