第九讲 外排序.pptVIP

  • 8
  • 0
  • 约9.69千字
  • 约 60页
  • 2017-06-09 发布于湖北
  • 举报
* H.setSize(last); last--; } if (last!=0) H.SiftDown(0); //堆调整 } endUp(output,inputFile,outputFile); //处理输出缓冲区 } 置换选择算法实现(续) 得到的顺串长度并不相等。平均情况下,置换选择排序算法可以形成长度为2M的顺串。 * 9.3.2 二路外排序 产生顺串?归并排序 二路归并 m为顺串的个数 合并树高?log2 m?+1,进行?log2 m?遍扫描 2个输入缓冲区,1个输出缓冲区 * 二路外排序示例 算法分析 为一个待排文件创建尽可能大的初始顺串,可以大大减少扫描遍数和外存读写次数。 归并顺序的安排也能影响读写次数,把初始顺串长度作为权,其实质就是Huffman树最优化问题 * 9.3.3 多路归并—选择树 k路归并指每次将k个顺串合并成一个排好序的顺串 一般情况下,对m个初始顺串进行k路归并时归并趟数为logkm。 增加每次归并的顺串数量k可以减少归并趟数。 * 多(3)路归并外排序 多路归并树 * 在做k路归并的时候,每次都需要做k-1次比较才能找出所要的记录,代价较大 选择树:完全二叉树 赢者树 败者树 多路归并树分析 * * 用完全二叉树作为存储结构 选手或叶结点用数组L[1...n]表示,内

文档评论(0)

1亿VIP精品文档

相关文档