美文网首页
数据结构与算法外部排序

数据结构与算法外部排序

作者: 傻疯子 | 来源:发表于2022-03-09 16:04 被阅读0次

1.外部排序的基本概念
对大文件进行排序,因为文件中的记录很多、信息量庞大,无法将整个文件复制进内存中进行排序
需要将待排序的记录存储在外存上,排序时再把数据一部分一部分地调入内存进行排序,在排序过程中需要多次进行内存和外存之间的交换

2.外部排序的方法
基本概念:文件通常是按块存储在磁盘上的,操作系统也是按块对磁盘上的信息进行读写的。外部排序过程中的时间代价主要考虑访问磁盘的次数,即I/O次数

外部排序通常采用归并排序法

归并排序优化:增大归并路数k,减少初始归并段个数r

3.多路平衡归并与败者树
引入败者树的背景:为了使内部归并不受k(归并路数)的增大的影响

基本思想:败者树是树形选择排序的一种变体,可视为一颗完全二叉树。k个叶结点分别存放k个归并段在归并过程中当前参加比较的记录,内部结点用来记忆左右子树中的“失败者”,而让胜者往上继续进行比较,一直到根结点。若比较两个数,大的为失败者、小的为胜利者,则根结点指向的数为最小树

4.置换-选择排序

相关文章

  • 10分钟看懂10大经典算法(Swift代码实现)

    排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进...

  • 排序算法

    排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中...

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

    排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进...

  • Java学习笔记——十大经典排序算法总结

    内容几乎完全来源于网络 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部...

  • Swift的十大经典排序算法总结

    Swift的十大经典排序算法总结 排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排...

  • 排序算法-堆排序

    参考: Java排序算法(五):堆排序 【算法与数据结构】图说堆排序 【数据结构】排序算法:希尔、归并、快速、堆排...

  • (转)排序算法

    排序算法点这里 数据结构与算法——计数排序、桶排序、基数排序

  • 算法与数据结构(六):堆排序

    title: 算法与数据结构(六):堆排序tags: [算法与数据结构, C语言, 堆排序]date: 2019-...

  • Hash算法

    数据结构与算法分析:大纲数据结构:数组算法:hash算法算法:排序算法Java实现 1 Hash算法? 将任意长度...

  • 数据结构与算法 - 排序与搜索

    文章来源:数据结构与算法(Python) 排序与搜索排序算法(英语:Sorting algorithm)是一种能将...

网友评论

      本文标题:数据结构与算法外部排序

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