外部排序只能用归并排序吗?还有其它的方法吗?

Linux/Unix社区 > 专题技术讨论区 [问题点数:20分,结帖人K346K346]
等级
本版专家分:0
勋章
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Blank
图书勋章 CSDN技术图书作者专属勋章
Blank
GitHub 绑定GitHub第三方账户获取
结帖率 74.42%
等级
本版专家分:826
等级
本版专家分:0
勋章
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Blank
图书勋章 CSDN技术图书作者专属勋章
Blank
GitHub 绑定GitHub第三方账户获取
恋猫大鲤鱼

等级:

Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Blank
图书勋章 CSDN技术图书作者专属勋章
Blank
GitHub 绑定GitHub第三方账户获取
外部排序只能用归并排序吗?还有其它方法吗?

归并排序和几种内部排序的比较

归并排序归并排序(Merging Sort) 归并的含义是将两个或两个以上的有序表组合成一个新的有序表。 基本思想:假设初始序列含有n个记录,则可看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到【n/2...

常用的外部排序方法

外部排序最常用的算法是多路归并排序,即将原文件分解成多个能够一次性装入内存的部分,分别把每一部分调入内存完成排序。然后,对已经排序的子文件进行多路归并排序。 二、处理过程  (1)按可用内存的大

微软笔试题 大型文件外部排序(二路归并和k路归并的实现和比较)

二路归并的思路是每次将外部排序的文件两两合并,变成一个二倍大小的文件,然后对二倍大小的文件继续两两合并。直到最终合并为一个文件为止。k路归并是将外部排好序的子文件一次合并。先在各个文件中取出第一个数据...

外部排序

外部排序  给你一个包含20亿个int类型整数的文件,计算机的内存只有2GB,怎么给它们排序?一个int数占4个字节,20个亿需要80亿字节,大概占用8GB的内存,而计算机只有2GB的内存,数据都装不下!可以把8GB分割成4个...

归并排序

再两两归并,直到合并成一个长度为n的有序表为止,这种排序方法称为 2-路归并排序。 递归的2-路归并排序算法是基于分治算法的 ,以O(NlogN)最坏情形时间运行,而所使用的比较次数几乎是最优的...

胜者树与败者树, 多路平衡归并外部排序

 胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。    不同的是,胜者树的中间结点记录的是胜者的标号;而败者...

归并排序算法的过程图解

归并排序的时间复杂度,在最坏,最好和平均都是O(nlogn),这是效率,性能非常好的排序算法。 只不过它需要占用 O(n)的内存空间,如果数据量一旦很大,内存可能吃不消,这是它的弱点和致命伤。而其他排序算法,比如...

胜者树和败者树以及多路归并的应用(外部排序)。。。。。

胜者树和败者树都是完全二叉树,注意满...只有叶子节点存储数据,其他非叶子节点记录的都是比较之后的胜者。 建立过程:两个叶子节点比较最大/小值放到双亲节点中,以此类推比较到根节点中。 如fig1所示: Fi...

内部排序和外部排序小结

简单选择排序、直接插入排序和冒泡排序的平均复杂度都为 O(n2),并且实现过程也较为简单,但是直接插入排序和冒泡排序在最好的情况下时间复杂度可以达到 O(n),而简单选择排序则与序列的初始状态无关。...

内部排序(四)归并排序的递归与循环实现

上一篇日志讲到了自己对堆排序的学习,堆排序时间复杂度能达到O(NlogN),且不需要额外的空间来存储排序过程中...归并操作其实更多外部排序中- -、,是外部存储器最常用的排序方法分而治之的思想,下面会说。...

外部排序算法总结

多路归并排序 基本思想 两两归并排序 多路归并排序 胜者树 败者树 败者树的建立与调整 败者树的java代码 败者树的效率 我们一般提到排序都是指内排序,比如快速排序,堆排序,归并排序等,所谓内排序就是...

外部排序小结

相对于内部排序算法,外部排序算法... 因此,外部排序用方法就相对来说单一了——归并排序。在外部排序实现归并时,不仅归并排序耗时间,而且需要进行外存的读和写,而由计算机知识知道访问外存所需要的时间可是访问

排序4—归并排序与基数排序

前言:      这篇博客应该是排序算法的最后一篇了,由于归并排序内容较少也比较好理解...将两个有序表合成一个有序表的过程称为2-路归并,当然啦,还有3-路归并以及其他的多路归并,只是这...

排序算法之 归并排序 及其时间复杂度和空间复杂度

在排序算法中快速排序的效率是非常高的,但是还有种排序算法的效率可以与之媲美,那就是归并排序归并排序和快速排序有那么点异曲同工之妙,快速排序:是先把数组粗略的排序成两个子数组,然后递归再粗略分两个子...

九大排序算法告诉你什么是内部排序和外部排序

排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们通常所说的排序算法往往指的是内部排序算法,即数据...

一步步地分析排序——归并排序

归并排序是基于“归并”这个操作得出的排序方法,所谓归并,就是将两个分别有序的数组合并(归并)成一个更大的有序的数组。那么归并排序就可以这样描述:要将一个数组排序,可以先(递归地)将它分成两半分别排序,...

如何多线程实现归并排序

之前听吴恩达老大说过Python里面的Numpy包的矩阵运算就是多线程的,所以能做到的情况下尽量矩阵运算代替循环,这样能大大加快运算的速度。 为了提高速度,如果不涉及外部资源读取的话,要提高运行速度就要做到...

八大内部排序+外部排序

通常人们整理桥牌的方法是一张一张的来,将每一张牌插入到其他已经有序的牌中的适当位置。在计算机的实现中,为了要给插入的元素腾出空间,我们需要将其余所有元素在插入之前都向右移动一位。 算法描述 一般来说,...

外部排序剖析-以磁带为例

本文总结自《数据结构与算法分析(C++语言描述)》第四版第7章外部排序的内容。 如果您自认为是小白,那请耐心花约 30 分钟读完,确保读懂前面内容再阅读后面高阶部分; 如果您自认为基础扎实,想了解是否有您不...

七大内部排序算法总结(插入排序、希尔排序、冒泡排序、简单选择排序、快速排序、归并排序、堆排序)

写在前面:    排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意序列,重新排列成一个按...只是简单的描述各个算法并给出了具体实现代码,并未做其他深究探讨。 基础知识:

外部排序&多路归并排序

外部排序最常用的算法是多路归并排序,即将原文件分解成多个能够一次性装入内存的部分,分别把每一部分调入内存完成排序。然后,对已经排 序的子文件进行多路归并排序。 二、处理过程 (1)按可用内...

6种常用的排序算法的基本思想,性质和比较:快速排序,归并排序,冒泡排序、选择排序、插入排序、希尔排序...

6种常用的排序算法的基本思想,性质和比较:快速排序,归并排序,冒泡排序、选择排序、插入排序、希尔排序。 (转载请注明出处) 了解并掌握排序的概念,并熟悉常见的几种排序算法; 掌握常见的几种排序算法的...

python爬虫20个案例

讲诉python爬虫的20个案例 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

c++经典代码大全 清晰版

c++经典代码大全 适合C++新手看的经典代码!!!

Autojs 例子 源码 1600多个教程源码

autojs例子大全,一千六百多个脚本,简单的到复杂的例子,统统有,小白学完马上变大神,大神学了变超神。 脚本内容包含: 几十种类型的UI脚本,抖音、QQ、微信、陌陌、支付宝等自动化操作的脚本、还有部分协议列表,HTTP协议(POST、GET)上传下载,接码模块,百度文字识别api模块,文件操作模块:txt文本读一行删一行,等等其他例子

Visio_2016

visio_2016下载安装,亲测可用,不需要破解,而且无秘钥。简单方便实用

Xshell6完美破解版,亲测可用

Xshell6破解版,亲测可用,分享给大家。直接解压即可使用

个人简历模板

优质简历模板,目前最前全的模板收藏,需要换工作的小伙伴们可以试试

Android开发精典案例60个【源码】

60个Android开发精典案例,好东西 - 给大家分享60个Android开发的精典案例,包含任务监听、设备适配,游戏框架搭建,特效实现,多点触控,网络协议,游戏关卡设置等内容。特别是做游戏开发的朋友值得研究。喜欢就拿走吧!

相关热词 c# 导入c++类 c#中文字符串乱码 c# 申请行数动态的数组 c#前台拆分join c#文本 c# char 最大值 c# word转换二进制 c#加入分割区 c#集成开发工具 c# 浏览文件的控件