栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【每天学一点 - 算法篇 - 排序 - 外部排序】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【每天学一点 - 算法篇 - 排序 - 外部排序】

系列文章目录

【每天学一点 - 算法篇 - 排序 - 插入排序】
【每天学一点 - 算法篇 - 排序 - 希尔排序】
【每天学一点 - 算法篇 - 排序 - 堆排序】
【每天学一点 - 算法篇 - 排序 - 归并排序】
【每天学一点 - 算法篇 - 排序 - 快速排序】
【每天学一点 - 算法篇 - 排序 - 桶排序】


文章目录

系列文章目录前言一、什么是外部排序二、外部排序原理

1、思路2、示例3、抽象 总结


前言

其实这两天还看了不相交集啊,图论也看了一点,但是写出来好难啊,还是老实写外部排序吧


一、什么是外部排序

排序已经学的差不多了,桶排序已经涉及到特殊情形下了,
那还有什么可挖掘的呢,嗯,那就只能是到实战环节了。
常规内存的排序,都采用前面说的排序就足矣,
但是
如果是超大数据量,内存已经存不下了呢,
这时候数据通常会存在磁带上,

因为磁带上的元素只能被顺序访问

这时候就用上了外部排序,
先将数据储存在另外的其他(外部)磁盘上,
再将数据导回来,在这个过程中进行排序,
就是所谓的外部排序了


二、外部排序原理 1、思路

通过增加外部储存空间换取让数组可以完成排序,
增加空间,增加空间,这时候想到空间换时间的归并排序,
归并排序将小的有序数组合并为大数组时候的合并方式,
这种合并两个排序过的数组是非常简单的操作,
几乎不需要内存,非常适合上面提到的场景。

2、示例


3、抽象

将数组在内存中排序
内存排序后依次复制到外部数组
通过归并算法将数字反复在数组间排序


总结

其实排序还有冒泡排序,选择排序,这都属于跟插入排序一个量级,就不单独再磨蹭篇章了,后面应该是设计算法的一些思路,比如前面提到的分治,或者贪心啊,什么什么的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/732771.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号