Python|外部排序法
Posted 算法与编程之美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python|外部排序法相关的知识,希望对你有一定的参考价值。
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
引言
外部排序法:外部排序分为独立的两部分组成:1.按可用内存大小,利用内部排序方法,构造若干个记录的有序子序列写入外存,通常称这些记录的有序子序列为 “归并段”;2.通过“归并”,逐步扩大(记录的)有序子序列的长度,直至外存中整个记录序列按关键字有序为止。
问题描述
列如:假设有一个100KB记录的磁盘文件,而当前使用的计算机一次只能对10KB记录进行内部排序,则首先利用内部排序的方法得到10个初始归并段,然后进行逐趟归并。
解决方案
1.首先通过10次内部排序,把10组数据排好序,得到初始的10个归并段R1-R10
2.其次对这10个归并段使用2-路平衡归并排序(即两两归并)
2.1第一次归并
2.2第二次归并
2.3第三次归并
2.4第四次归并
结语
本文是对外部排序算法的简单讲解,以插画的形式,便于读者的理解。后续将讲解外部排序的次数与时间的相关算法。
作者:彭诚
实习编辑:王晓姣
稿件来源:深度学习与文旅应用实验室(DLETA)
以上是关于Python|外部排序法的主要内容,如果未能解决你的问题,请参考以下文章