使用较小的物理内存对 10 亿个整数进行排序

2023-12-27

想要对 10 亿个整数进行排序,而我的系统只有 1 GB RAM。最快、最有效的排序方法是什么?

  1. 假设我们在文本文件中输入每行一个整数。

  2. 我们使用java程序来排序。

  3. 我指定了 RAM,因为我们无法将所有输入整数保存在 RAM 中。

Update:整数是 7 位数字。


整数是 7 位数字。

所以只有一千万个可能的值。

您有 1GB 内存。创建一个计数器数组,每个计数器对应一个可能的值。

通读一次文件,对计数器进行计数。

完成后,根据最终计数器值输出数字。

每个数字最多可以出现 10 亿次。所以32位计数器就足够了。这意味着 10M x 4 字节 = 40M 字节数组。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用较小的物理内存对 10 亿个整数进行排序 的相关文章

  • Java,顺序流在哪个线程中执行?

    在阅读有关流的文档时 我遇到了以下句子 attempting to access mutable state from behavioral parameters presents you with a bad choice if you
  • 有没有办法在 C 中按多个变量对结构进行排序?

    我必须编写一个对数组中的结构进行排序的函数 结构是 define MAX USERNAME LENGTH 16 typedef struct char username MAX USERNAME LENGTH unsigned int ri
  • 是否可以使用 Java 读写 Parquet,而不依赖 Hadoop 和 HDFS?

    我一直在寻找这个问题的解决方案 在我看来 如果不引入对 HDFS 和 Hadoop 的依赖 就无法在 Java 程序中嵌入读写 Parquet 格式 它是否正确 我想在 Hadoop 集群之外的客户端计算机上进行读写 我开始对 Apache
  • Hashset - 创建 Set 后使对象相同

    如果我们在 HashSet 中添加两个不同的对象 可变的 然后通过调用 setter 更改对象的值 使它们相同 则大小仍然是 hashSet 的 2 我无法理解其原因 public static void main String args
  • 为什么通过 方法向 List 添加元素(类型正确)会出现编译错误? [复制]

    这个问题在这里已经有答案了 我对泛型通配符概念几乎没有疑问 1 假设我有一个方法 void write List
  • Selenium 和 TestNG 同时使用“dependsOn”和“priority =”问题

    我正在努力在 GUI 自动化测试中实现更好的工作流程控制 我首先从dependsOn开始 但很快发现缺点是如果一个测试失败 则套件的整个其余部分都不会运行 所以我改用 priority 但看到了意外的行为 一个例子 Test priorit
  • Java Junit 测试 HTTP POST 请求

    我需要测试以下方法而不改变方法本身 该方法向服务器发出 POST 方法 但我需要制作一个独立于服务器的测试用例 在将其重定向到本地文件之前 我测试了类似的方法 但为此我将协议指定为文件 主机名指定为 localhost 端口指定为 1 我的
  • java项目中无法加载类“org.slf4j.impl.StaticLoggerBinder”错误? [复制]

    这个问题在这里已经有答案了 我越来越Failed to load class org slf4j impl StaticLoggerBinder 错误 我想将记录器写入文件 所以我使用了 log4j jar 并使用 apache tomca
  • 避免 @Secured 注释的重复值

    我正在尝试使用以下方法来保护我的服务方法 Secured如下 public interface IUserService Secured ROLE ROLE1 ROLE ROLE2 ResponseEntity saveUser Creat
  • 在Python中计算内存碎片

    我有一个长时间运行的进程 不断分配和释放对象 尽管正在释放对象 但 RSS 内存使用量会随着时间的推移而增加 如何计算发生了多少碎片 一种可能性是计算 RSS sum of allocations 并将其作为指标 即便如此 我该如何计算分母
  • java中如何重新初始化int数组

    class PassingRefByVal static void Change int pArray pArray 0 888 This change affects the original element pArray new int
  • Time.valueOf 方法返回错误值

    我使用 Time valueOf 方法将字符串 09 00 00 转换为 Time 对象 如下所示 Time valueOf LocalTime parse 09 00 00 当我调用 getTime 来显示我得到的值时 28800000
  • jDBI中如何进行内查询?

    我怎样才能在 jDBI 中执行这样的事情 SqlQuery select id from foo where name in
  • Java HashSet 是线程安全的只读吗?

    如果我通过 Collections unmodifyingSet 运行 HashSet 实例后 它是线程安全的吗 我问这个是因为 Set 文档声明它不是 但我只是执行读取操作 来自 Javadoc 请注意 此实现不是同步的 如果多个线程同时
  • JPA Web 应用程序管理策略

    我们目前正在开发一个 J2EE Web 应用程序 使用 JPA 作为我们的数据访问层 我们目前正在研究几种不同的策略来在我们的应用程序中利用缓存 Create an EntityManager per request 在请求范围内获取缓存
  • Janusgraph 0.3.2 + HBase 1.4.9 - 无法设置 graph.timestamps

    我在 Docker 容器中运行 Janusgraph 0 3 2 并尝试使用运行 HBase 1 4 9 的 AWS EMR 集群作为存储后端 我可以运行 gremlin server sh 但如果我尝试保存某些内容 我会得到粘贴在下面的堆
  • 获取 Future 对象的进度的能力

    参考 java util concurrent 包和 Future 接口 我注意到 除非我弄错了 只有 SwingWorker 实现类才能启动冗长的任务并能够查询进度 这就引出了以下问题 有没有办法在非 GUI 非 Swing 应用程序 映
  • 开发者环境-如何调用/消费其他微服务

    背景 我的环境 Java Play2 MySql 我在 Play2 gt S1 S2 S3 上编写了 3 个无状态 Restful 微服务 S1 消耗来自 S2 和 S3 的数据 因此 当用户点击 S1 时 该服务会异步调用 S2 S3 合
  • 为什么不能在 if 语句中声明变量?

    以下 Java 代码无法编译 int a 0 if a 1 int b 0 if a 1 b 1 为什么 不能有任何代码路径导致程序将 1 分配给b无需先声明 我突然想到b的变量范围可能仅限于第一个if声明 但后来我不明白为什么 如果我实在
  • 如何在J2ME中获取数字的幂[重复]

    这个问题在这里已经有答案了 可能的重复 J2ME power double double 数学函数实现 https stackoverflow com questions 2076913 j2me powerdouble double ma

随机推荐

  • 调试基于 Linux 的 C++ 代码 Visual Studio Code 时出现问题

    我正在尝试调试我的代码视觉工作室代码在 Linux Ubuntu 中 我已经按照规范配置了调试配置 但是当尝试调试时 我收到以下错误 thread group added id i1 GNU gdb Ubuntu 7 11 1 0ubunt
  • Python 中的一切都是对象,为什么运算符不是?

    Python 中的一切都是对象 我们都知道这句话 所有 Python 爱好者 包括我 都喜欢它 在这方面 观察运营商很有趣 它们似乎不是物体 例如 gt gt gt type or lt returns SyntaxError invali
  • Linq 使用 GroupBy 时, Include 不起作用

    包括 matchparticipants 不起作用 当我调试时它总是说 Null 但是当我将 GroupBy 放在注释中时 它工作正常 我正在使用代码优先的实体框架 4 3 1 实体 public class Match ScaffoldC
  • new[],delete[]复杂性

    我已经知道new 运算符首先分配内存 然后为每个元素调用构造函数 并且delete 运算符首先为每个元素调用析构函数 然后释放内存 因此 它们的时间复杂度都是 O n 但是 如果我有一个类 我没有为其定义任何构造函数 析构函数 那么复杂度仍
  • 快速从基类返回子类

    我试图允许超类中的方法返回子类的实例 以便我可以在父类和子类之间使用方法链接 但是 当我尝试链接这些方法时 出现错误 BaseClass 没有名为 someOtherChainableMethod 的成员 这是我的代码 class Base
  • httpurlconnection 在 Android 4.2 上非常慢

    我可以使用 httpurlconnection 成功连接 发送和接收数据 但在我的手机 三星 s4 4 2 和 android 4 2 模拟器上加载所有数据需要很长时间 但在 Android 2 3 x 模拟器上加载图片大约需要 1 2 秒
  • R - ggplot2 等高线图

    我正在尝试用 R 复制 Andrew Ng 在 Coursera 上的机器学习课程中的代码 因为该课程是在 Octave 中 基本上我必须为多项式正则化逻辑回归绘制非线性决策边界 p 0 5 我可以使用基础库轻松复制该图 contour u
  • jQuery UI:可拖动滚动问题

    我正在尝试使用 jQuery UI 构建一个可拖放的文件夹文件视图 但我遇到了一个问题 我认为这归因于助手 这是我的代码 The HTML div span Parent Directory 1 span div span class fo
  • C++ 对 vtable 的未定义引用

    我正在学习C 我正在尝试做一个练习 用单个函数定义纯虚拟类的多个实现 我在链接使用这些实现的类时遇到问题 gt BasicMath h lt ifndef BASIC MATH H define BASIC MATH H include
  • 为什么 Crashlytics 报告的崩溃次数比 Google Play Console 少得多?

    我在 Google Play 商店上发布了一款集成了 Firebase Crashlytics 的应用程序 我在 Google Play 控制台中看到 当我取消选择 从 Google Play 安装 过滤器时 出现了许多新的崩溃 属于 从
  • 命令行查找目录中的第一个文件

    我的目录结构如下 Directory1 file1 jpg file2 jpg file3 jpg Directory2 anotherfile1 jpg anotherfile2 jpg anotherfile3 jpg Director
  • 我如何检测双卡设备中哪个卡的新拨出电话?

    我知道我可以通过该接收器检测到新的拨出呼叫
  • 大文件上传期间 Grails 连接超时

    我想防止SocketTimeoutException如果用户尝试从我的 Grails Web 应用程序中的上传表单上传大文件 大约 1 分钟后就会发生这种情况 我知道这是 Tomcat 的问题而不是 Grails 的问题 但我在修改方面有点
  • 优化以通配符开头的 LIKE 表达式

    我在 SQL Server 数据库中有一个表 其中包含地址字段 例如 1 Farnham Road Guildford Surrey GU2XFF 我想在搜索字符串之前和之后使用通配符进行搜索 SELECT FROM Table WHERE
  • 项目文件夹中的 __init__.py 破坏了鼻子测试

    项目树 bar py test init py test bar py bar py def dumb true return True 测试 test bar py import bar def test bar true assert
  • Android:关闭/丢失蓝牙连接或文件接收 -> 执行某些操作

    我想编写一个应用程序 通过以下方式监视我配对的蓝牙连接 如果文件来自配对源 则应存储该文件 如果没有文件被传递并且蓝牙连接中断 我的应用程序将存储一个虚拟文件 存储文件效果很好 我的主要问题是如何在显示器上没有活动的情况下运行整个过程 我读
  • 使用 OpenStreetMap 获取给定 GPS 坐标集的国家/地区名称

    有谁知道是否有办法使用 OpenStreetMap 离线或 API 来获取给定的 GPS 坐标集的国家 地区名称 我对使用此处提到的 Google 或 Geonames API 不感兴趣 GPS 坐标的国家 地区名称 https stack
  • 更新会员属性。不支持的方法

    我已经尝试研究我收到的异常几个小时了 但没有任何进展 我只是尝试使用以下代码更新会员资料 MembershipUser user Membership GetUser username user IsApproved false Membe
  • iOS:Google 地图 API -markerInfoWindow 与markerInfoContents

    我浏览了谷歌地图文档 https developers google com maps documentation ios sdk reference protocol g m s map view delegate p html ada4
  • 使用较小的物理内存对 10 亿个整数进行排序

    想要对 10 亿个整数进行排序 而我的系统只有 1 GB RAM 最快 最有效的排序方法是什么 假设我们在文本文件中输入每行一个整数 我们使用java程序来排序 我指定了 RAM 因为我们无法将所有输入整数保存在 RAM 中 Update