课本源码部分
第11章 外部排序 - 败者树
——《数据结构》-严蔚敏.吴伟民版
源码使用说明 链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构题集》习题解析合辑
本源码引入的文件 链接☛ Status.h、Scanf.c、MergingSort.c
文档中源码及测试数据存放目录:数据结构▲课本算法实现▲11 外部排序 1 LoserTree
概述
“败者树”(Tree of Loser)是树形选择排序的一种变型,它是一颗完全二叉树。在对终端结点的比较中,在双亲结点中记下刚进行完的这场比赛中的败者,而让胜者去参加更高一层的比赛。
解析
“败者树”的基本应用是将一个大文件分割为若干个小文件,然后对小文件分别排序完毕后,再依次加载各小文件中的最小关键字,比较后将较小的关键字输出到缓存,待缓存已满,则将缓存中已排好序的序列输出到文件中。为什么要这么大费周章呢?原因是计算机的内存是有限的,在面对海量数据时,不能一次性都加载到内存中,所以必须加载一段,比较一段。
源码
文件一 ☛ LoserTree.h
文件二 ☛ LoserTree.c
文件三 ☛ LoserTree-main.c (测试文档)
文件四 ☛ TestData.txt(排序表测试数据)
测试结果展示