Python|外部排序法

引言

外部排序法:外部排序分为独立的两部分组成:1.按可用内存大小,利用内部排序方法,构造若干个记录的有序子序列写入外存,通常称这些记录的有序子序列为 “归并段”;2.通过“归并”,逐步扩大(记录的)有序子序列的长度,直至外存中整个记录序列按关键字有序为止。

问题描述

列如:假设有一个100KB记录的磁盘文件,而当前使用的计算机一次只能对10KB记录进行内部排序,则首先利用内部排序的方法得到10个初始归并段,然后进行逐趟归并。

解决方案

1.首先通过10次内部排序,把10组数据排好序,得到初始的10个归并段R1-R10

2.其次对这10个归并段使用2-路平衡归并排序(即两两归并)

2.1第一次归并

2.2第二次归并

2.3第三次归并

2.4第四次归并

结语

本文是对外部排序算法的简单讲解,以插画的形式,便于读者的理解。后续将讲解外部排序的次数与时间的相关算法。

作者:彭诚

实习编辑:王晓姣

稿件来源:深度学习与文旅应用实验室(DLETA)

(0)

相关推荐

  • 一天的潦草记录

    长期处于一种应急备战状态,精神绷得太紧,以致对不仅对生活失去了感受力和思考力,对周遭的环境也反应迟钝,每天只能勉强作一些机械化的记录,来不及去做甄别,想到什么就记录什么,能记录多少记录多少.像是打翻了 ...

  • 实习结束后小记录

    实习结束后小记录

  • Python|外部排序的次数与时间的相关算法

    前言 在上一次的文章中介绍了外部排序的定义以及基础实现过程,本文章是对外部排序的次数与时间的相关算法,算法逻辑性较强,需要细致的分析与理解.才能更好的掌握. 问题描述 列如:假设有一个100KB记录的 ...

  • Python | 关于枚举法的奥秘

    引言 大家在学习python的过程中,肯定会遇到各种算法,这里面有简单的也有复杂的,譬如简单的有枚举法.模拟法-等,稍微难点的有图的深度优先遍历算法.图的宽度优先遍历算法-等等,今天小编不讲那些比较难 ...

  • Python | 选择排序之简单选择排序

    引言 一听到选择排序的词第一反应都是要通过选择来排序,那么我们的第一反应是不是对的呢,我们接下来验证一下,了解一下它的定义.简单选择排序:最简单的选择方法是顺序扫描序列中的元素,记住遇到的最小元素(一 ...

  • Python | 选择排序之树形选择排序

    引言 选择排序里面主要讲了三个排序,分别是简单选择排序.树形选择排序.堆排序.今天这篇文章主要讲树形选择排序,树形选择排序也被称为锦标赛排序,树形选择排序运用了锦标赛的思想进行排序,树形选择排序是指首 ...

  • 三步走排序法

    [三步走排序法]股神巴菲特曾向他的私人飞行员迈克尔·弗林特,介绍过确定优先次序的三步走策略. 第一步,写下前25个目标. 第二步,选出前5个目标. 第三步,余下20个目标放在"不惜一切代价也 ...

  • 【视频更新】第五十集 数组排序——选择排序法

    介绍了C语言数组排序的方法,选择排序法

  • 思维方法:面临重大选择如何迅速理清思路?试试“维度排序法”

    音频版课程链接,让你解放双手,边走边听: https://www.ximalaya.com/jiaoyu/20463813/274623755 凡事都有解 导语:生活就是遇到问题,解决问题,再遇到问题 ...

  • Python 炫技操作:五种 Python 转义表示法

    转自:Python编程时光 1. 为什么要有转义? ASCII 表中一共有 128 个字符.这里面有我们非常熟悉的字母.数字.标点符号,这些都可以从我们的键盘中输出.除此之外,还有一些非常特殊的字符, ...

  • Excel删除多余的空行|排序法

    Excel删除多余的空行|排序法