首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >外部排序

外部排序
EN

Stack Overflow用户
提问于 2011-02-23 20:08:09
回答 2查看 11K关注 0票数 14

在这个网页上:CS302 --外部排序

将生成的运行合并为连续更大的运行,直到对文件进行排序。

正如我引用的,我们如何合并结果运行在一起?我们没有那么多记忆。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-23 20:13:24

想象一下你的数字是1-9

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
9  7  2  6  3  4  8  5  1

让我们假设一次内存中只有3块。

因此,您可以将它们分解为3块,并对每个块进行排序,将每个结果存储在一个单独的文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
279
346
158

现在,您可以将这三个文件中的每一个作为流打开,并从每个文件中读取第一个值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2 3 1

输出最低值1,并从该流中获取下一个值,现在有:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2 3 5

输出下一个最低值2,然后继续,直到输出整个排序列表为止。

票数 46
EN

Stack Overflow用户

发布于 2011-02-23 20:10:28

如果您将两次运行AB处理为更大的运行C,则可以逐行生成更大的运行,但一次最多只能读取2行。因为这个过程是迭代的,而且您正在处理数据流,而不是完整的数据切分,所以您不需要担心内存的使用。另一方面,磁盘访问可能会使整个过程变慢--但它肯定比一开始就不能完成工作要好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5100252

复制
相关文章
外部排序
当我们要排序的文件太大以至于内存无法一次性装下的时候,这时候我们可以使用外部排序,将数据在外部存储器和内存之间来回交换,以达到排序的目的
用户1260737
2018/07/30
1.1K0
外部排序
7.7.1外部排序
内部排序都是在内存中进行的,而在实际应用中,经常需要对大文件进行排序,因为文件中的记录很多、信号量庞大,无法将整个文件拷贝进内存中进行排序。因此,需要将待排序的记录存储在外存上,排序时再将数据一部分一部分的调入内存进行排序。在排序过程中需要多次进行内存和外存之间的交换,对外存文件中的记录进行排序后的结果仍然被存放到原有文件中。这种排序方法就称为外部排序。
week
2018/08/24
5200
11.2 外部排序与选择排序
2、首先,按可用内存大小,将外存上含n个记录的文件分成若干长度为l的子文件或段(segment),依次读入内存并利用有效的内部排序方法对它们进行排序,并将排序后得到到有序子文件重新写入外存,通常称这些有序子文件为归并段或顺串(run)。
小林C语言
2020/12/13
7600
11.2 外部排序与选择排序
外部排序的方法
在实际应用中,由于外存设备的不同,通常又可分配磁盘文件排序和磁带文件排序两大类。磁带排序和磁盘排序的基本步骤相类似,主要的不同之处在于初始归并段在外存介质中的分布方式,磁盘是直接存储设备,磁带是顺序存储设备。下面以磁盘为例进行说明。
week
2018/08/24
1.1K0
Python|外部排序法
外部排序法:外部排序分为独立的两部分组成:1.按可用内存大小,利用内部排序方法,构造若干个记录的有序子序列写入外存,通常称这些记录的有序子序列为 “归并段”;2.通过“归并”,逐步扩大(记录的)有序子序列的长度,直至外存中整个记录序列按关键字有序为止。
算法与编程之美
2021/07/09
7710
Python|外部排序法
什么是外部排序?
在内存中进行的排序是内部排序,而在许多应用中,经常需要对大文件进行排序,因为文件中的记录很多、信息量庞大,无法将整个文件复制进内存中进行排序。因此,需要将待排序的记录存储在外存中,排序时再把数据一部分一部分地调入内存进行排序,在排序过程中需要多次进行内存和外存之间地交换。这种排序方法就称为外部排序。
跋扈洋
2021/08/18
8390
【漫画】什么是外部排序?
排序的时候我们可以选择快速排序或归并排序等算法。为了方便,我们把排序好的2G有序数据称之为有序子串吧。接着我们可以把两个小的有序子串合并成一个大的有序子串。
小小詹同学
2019/11/12
3160
【漫画】什么是外部排序?
排序的时候我们可以选择快速排序或归并排序等算法。为了方便,我们把排序好的2G有序数据称之为有序子串吧。接着我们可以把两个小的有序子串合并成一个大的有序子串。
帅地
2018/10/18
4410
【漫画】什么是外部排序?
11.2 外部排序的方法
2、首先,按可用内存大小,将外存上含n个记录的文件分成若干长度为l的子文件或段(segment),依次读入内存并利用有效的内部排序方法对它们进行排序,并将排序后得到到有序子文件重新写入外存,通常称这些有序子文件为归并段或顺串(run)。
小林C语言
2019/07/12
4510
【漫画】什么是外部排序?
排序的时候我们可以选择快速排序或归并排序等算法。为了方便,我们把排序好的2G有序数据称之为有序子串吧。接着我们可以把两个小的有序子串合并成一个大的有序子串。
Java3y
2019/08/27
3340
【漫画】什么是外部排序?
【漫画】什么是外部排序?【转】
还记得面试现场第一篇文章【面试现场】如何判断一个数是否在40亿个整数中?发出之后,最后蛋哥说把40亿个数先进行外部排序。有读者问到,内存无法一次性加载40亿个数,如何排序?
233333
2019/11/05
4030
【漫画】什么是外部排序?【转】
使用Oracle外部表对大文件排序
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/53906115
用户1148526
2019/05/25
7070
原创 | 外部排序:如何用 2GB内存给 20 亿个整数排序?
这篇文章在很久很久之前讲过,不过出了些小错误,今天把它修正了,并且从实战 + 漫画的方式带你领略外部排序魅力,并且让你知道外部排序的实现方式没有你想的那么简单。
帅地
2020/03/10
8260
原创 | 外部排序:如何用 2GB内存给 20 亿个整数排序?
创建外部用户_外部表
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/107420.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/21
1.1K0
外部目录信息
客户为AMD Xilinx SoC创建了PetaLinux工程。需要定制PetaLinux中的FSBL。
hankfu
2023/05/23
8930
Android外部存储
外部存储作为开发中经常接触的一个重要系统组成,在Android历代版本中,有过许许多多重要的变更。我也曾疑惑过,为什么一个简简单单外部存储,会存在存在这么多奇奇怪怪的路径:/sdcard、/mnt/sdacrd、/storage/extSdCard、/mnt/shell/emulated/0、/storage/emulated/0、/mnt/shell/runtime/default/emulated/0...其实,这背后代表了一项项技术的成熟与发布:模拟外部存储、多用户、运行时权限...
WeTest质量开放平台团队
2018/10/29
8530
修改外部svg
网页 <html> <head> <title>D3 external svgs</title> <script src="http://d3js.org/d3.v3.min.js"></script> </head> <body> <object data="circles.svg" type="image/svg+xml" id="circles"></object> <script> function changeColor() { var sel = d3.s
周星星9527
2021/08/13
1.2K0
修改外部svg
《Android外部存储》
| 导语 外部存储作为开发中经常接触的一个重要系统组成,在Android历代版本中,有过许许多多重要的变更。我也曾疑惑过,为什么一个简简单单外部存储,会存在存在这么多奇奇怪怪的路径:/sdcard、/mnt/sdacrd、/storage/extSdCard、/mnt/shell/emulated/0、/storage/emulated/0、/mnt/shell/runtime/default/emulated/0…其实,这背后代表了一项项技术的成熟与发布:模拟外部存储、多用户、运行时权限… 一、各版本外部
腾讯Bugly
2018/03/23
2.7K0
Android外部存储
外部存储作为开发中经常接触的一个重要系统组成,在Android历代版本中,有过许许多多重要的变更。我也曾疑惑过,为什么一个简简单单外部存储,会存在存在这么多奇奇怪怪的路...
WeTest质量开放平台团队
2018/03/09
2.2K0
Android外部存储
点击加载更多

相似问题

EXCEL排序VBA -外部排序

15

外部排序优化

20

外部排序Java

22

排序:组合与外部排序工具

12

外部排序和外部合并的区别

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文