论数据结构中的外排序与内排序.PDFVIP

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
论数据结构中的外排序与内排序

现代商贸工业 NO.5,2010 ModernBusinessTradeIndustry 2010年第 5期 论数据结构中的外排序与内排序 周莉莉 (中南财经政法大学信 息与安全工程学院,湖北 武汉 430073) 摘 要 :主要讨论数据结构 中的 内排序和外排序 。通过讨论两者之 间的 区别来对 内外排序进行深入探讨 。比较 了多 种 内排序 的方法,从时间复杂度、空间复杂度和稳定性上一一做 了详细探讨并列表 比较 。 关键词 :数据结构 ;内排序 ;外排序 ;存储 器;时间复杂度 ;空间复杂度 中 图分类号 :TP 文献标 识码 :A 文章编号 :1672—3198(2010)05—0327—02 排序是一种计算机必不可少 的操作 ,其功能就是将一 排序和堆排序 。交换排序分为 冒泡排序和快速排序 。归并 个数据元素 (或记录)的任意序列,重新排列成一个按关键 排序又分为二路归并排序和多路归并排序 。而外排序最常 字有序 的序列 。而排序分为外排序和 内排序 ,两者 固然存 用的是归并排序法 。主要分为多路归并排序和置换一选择 在着一定的区别 。下面将通过分析二者区别来进一步对 内 排序两种 ,其主要 的排序方法结构图如下图 1、2所示 : 外排做深入探讨 。 内排序 区别之一 ,就是外排序和 内排序所设计的存储器的不 同。一般情况下,内部排序中待排序的文件较小。之所 以 称之为 “内”是因为排序是在 内存 中完成 的,文件一般可 以 入排 一 次在 内存 中排序 。而一 般外部排序 中待排序 的文件较 接插蠢入fIIl插誓半入flll插入磊路IIII委插入fll序蓁尔F 数排I归并排 大,不存储于 内存而存储于外存 ,且 不能一次调入进入 内 存 。对此计算机所采取的策略是将文件 中的数据分段输入 内存 ,在 内存 中采用 内排序 的方法对其进行排序 ,这样完成 排序后 的文件段称为归并段 ,然后在将其写 回外存 ,这样在 图 1 内排序的方法分类 外存 中形成许多初始归并段 。然后对这些归并短采用某种 归并方法 ,并进行多遍归并,似 的已经排序好 的归并段逐渐 蓊r_1竺{ 扩大,最后在外存上形成整个文件 的单一归并段 ,也就完成 了这个文件的外排序 。概括起来说 ,就是 “内排序在 内存上 排序,外排序 借助 内排序通 过调用 间接完成外存 上的排 序 ”。 区别之二,除了存储器的不同,内排序和外排序所采用 图 2 外排序的方法分类 的存储方式也是不 同的。内排 序主要使用三种存储方式 , 在多路归并排序法 中,一般使用的两个概念 叫做胜者 一 种连续地址的方式 ,即文件在 内存 中采用连续地址 的方 树和败者树 。败者树是一课 完全二叉树 ,其中每个结点的 式 ;一种是静态链表 的方式,采用链表 的方式 ,实现 “逻辑 ” 关键字(键值)取决于它的两个子节点中的关键字 中的较小 上的连续存储。且链表使得存储一 目了然 ,简单易懂 ;还有 值 (也就是胜者),然后就像淘汰赛一样 ,胜者进入下一轮 的 一 种 ,就是指示各个记录存储位置 的地址 向量 。 比赛 ,依次选取最小者 ,然后根节点的值最小 。而胜者树 的 而对于外排序而言,主要使用两种存储方式 。一种是 概念和败者树是相对 的,它们之间的区别在于一个选择 了 磁盘存储器 ,一种是磁带存储器 。磁盘存储器一般分为硬 胜者 (关键字小),一个选择 了败者(关键字大),其他 的原理 盘和软盘 ,是一种直接存取的存储设备,即访 问存储在磁盘 基本相 同。例如下图3所显示的败者树 : 上 的文件 中的任何一条记录所花费的时间几乎

文档评论(0)

ldj215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档