外部排序

作者: 阿凡提说AI | 来源:发表于2017-02-04 16:29 被阅读111次

定义问题

    外部排序指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存,需要在内存和外部存储器之间进行多次数据交换,以达到排序整个文件的目的。外部排序最常用的算法是多路归并排序,即将原文件分解成多个能够一次性装入内存的部分,分别把每一部分调入内存完成排序。然后,对已经排序的子文件进行多路归并排序。

处理过程

     (1)按可用内存的大小,把外存上含有n个记录的文件分成若干个长度为L的子文件,把这些子文件依次读入内存,并利用有效的内部排序方法对它们进行排序,再将排序后得到的有序子文件重新写入外存;

      (2)对这些有序子文件逐趟归并,使其逐渐由小到大,直至得到整个有序文件为止。

案例

       先从一个例子来看外排序中的归并是如何进行的?
      假设有一个含10000 个记录的文件,首先通过10 次内部排序得到10 个初始归并段R1~R10 ,其中每一段都含1000 个记录。然后对它们作如图10.11 所示的两两归并,直至得到一个有序文件为止 
2012082920125492.jpg

相关文章

  • 排序算法总结

    排序算法 排序算法可以分为内部排序和外部排序 内部排序:数据记录在内存中进行排序。 外部排序:排序的数据很大,排序...

  • 排序算法讲解

    排序方法:排序主要包含内部排序和外部排序。内部排序(简称内排序),是指所有待排序内容都存储在内存的排序。外部排序(...

  • 八大排序算法

    排序分类:内部排序、外部排序 外部排序 大文件的排序,即待排序的记录存储在[外存储器]26993)上,待排序的文件...

  • 排序——外部排序

    外部排序:指的是待排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。 快...

  • 常见的排序算法

    概述 排序分为内部排序和外部排序: 内部排序:数据记录在内存中进行排序 外部排序:排序的数据很大,一次不能容纳全部...

  • 几种常用的排序算法 回顾

    0. 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一...

  • Python经典排序算法

    排序:内部和外部 内部排序:数据记录在内存中进行排序。外部排序:排序的数据很大,一次不能容纳全部的排序记录,在排序...

  • Swift - 常用的排序算法

    常见的排序算法 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很...

  • 基础排序算法总结(七种排序算法C代码)

    排序是最基础的算法,从排序的对象来说主要分为内部排序和外部排序。内部排序主要是针对内存中的数据进行排序,外部排序针...

  • JS实现十大经典排序算法

      排序算法可以分为内部排序和外部排序。内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能...

网友评论

    本文标题:外部排序

    本文链接:https://www.haomeiwen.com/subject/vpzjittx.html