《编程珠玑(第2版•修订版)》—第1章1.2节准确的问题描述

简介: 对程序员来说,这些需求加起来就是:“如何给磁盘文件排序?”在试图解决这个问题之前,先将已知条件组织成一种更客观、更易用的形式。

本节书摘来自异步社区《编程珠玑(第2版•修订版)》一书中的第1章1.2节准确的问题描述,作者【美】Jon Bentley,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.2 准确的问题描述
对程序员来说,这些需求加起来就是:“如何给磁盘文件排序?”在试图解决这个问题之前,先将已知条件组织成一种更客观、更易用的形式。

输入:一个最多包含n个正整数的文件,每个数都小于n,其中n=107。如果在输入文件中有任何整数重复出现就是致命错误。没有其他数据与该整数相关联。

输出:按升序排列的输入整数的列表。

约束:最多有(大约)1 MB的内存空间可用,有充足的磁盘存储空间可用。运行时间最多几分钟,运行时间为10秒就不需要进一步优化了。

请花上一分钟思考一下该问题的规范说明。现在你打算给程序员什么样的建议呢?

相关文章
|
16天前
如何用公式化思维?几个经典公式收集
如何用公式化思维?几个经典公式收集
|
2月前
|
C++
【SPSS】两独立样本的曼-惠特尼U检验详细操作教程(附案例实战)
【SPSS】两独立样本的曼-惠特尼U检验详细操作教程(附案例实战)
216 0
|
决策智能
运筹优化学习01:Lingo入门与错误列表分析(一)
运筹优化学习01:Lingo入门与错误列表分析
运筹优化学习01:Lingo入门与错误列表分析(一)
|
决策智能 Windows
运筹优化学习01:Lingo入门与错误列表分析(二)
运筹优化学习01:Lingo入门与错误列表分析
运筹优化学习01:Lingo入门与错误列表分析(二)
|
决策智能
运筹优化学习01:Lingo入门与错误列表分析(三)
运筹优化学习01:Lingo入门与错误列表分析
运筹优化学习01:Lingo入门与错误列表分析(三)
|
机器学习/深度学习 算法 安全
机器学习的统计方法 贝叶斯决策理论入门(公式修正版)
机器学习的统计方法 贝叶斯决策理论入门(公式修正版)
112 0
机器学习的统计方法 贝叶斯决策理论入门(公式修正版)
|
机器学习/深度学习 算法 Windows
【计算理论】计算复杂性 ( 阶段总结 | 计算理论内容概览 | 计算问题的有效性 | 语言与算法模型 | 可计算性与可判定性 | 可判定性与有效性 | 语言分类 ) ★
【计算理论】计算复杂性 ( 阶段总结 | 计算理论内容概览 | 计算问题的有效性 | 语言与算法模型 | 可计算性与可判定性 | 可判定性与有效性 | 语言分类 ) ★
138 0
【计算理论】计算复杂性 ( 阶段总结 | 计算理论内容概览 | 计算问题的有效性 | 语言与算法模型 | 可计算性与可判定性 | 可判定性与有效性 | 语言分类 ) ★
带你读《计算机时代的统计推断:算法、演化和数据科学》之二:频率学派推断
本书以丰富的案例介绍了计算机时代下的统计推断的发展脉络,从理论的角度剖析统计推断的各类算法、证据等,揭示统计推断如何推动当今大数据、数据科学、机器学习等领域的快速发展并引领数据分析的变革,最后展望了统计学和数据科学的未来方向。
带你读《计算机时代的统计推断:算法、演化和数据科学》之三:贝叶斯推断
本书以丰富的案例介绍了计算机时代下的统计推断的发展脉络,从理论的角度剖析统计推断的各类算法、证据等,揭示统计推断如何推动当今大数据、数据科学、机器学习等领域的快速发展并引领数据分析的变革,最后展望了统计学和数据科学的未来方向。
广义动量定理之时间t的应用案例分析
广义动量定理之时间t的应用分析 从广义动量定理Fαt=nmV的角度说,改变时间t,就可以改变成果nmV。时间派以调整时间t的发生时刻和长短作为达成目的的手段。
1042 0