败者树
在不使用败者树的情况下,进行k路归并,S趟归并需要的比较次数为
k路归并的败者树深度为⌈log2k⌉,则最多需要⌈log2k⌉次比较,总的比较次数为
置换-选择排序
工作原理:每次选择工作区中最小的一个放入归并段中,并设置MINIMAX值
在第5行中,为什么选择21,原因是此时的MINIMAX为17 > 10,因此只能选择次小的21,第6、7行同理
当工作区中的数都小于MINIMAX时,则需要使用第二个归并段来输出(第十行),第一个归并段的数据完整了(第九行)
这就是置换-选择排序
最佳归并树
最佳归并树就是通过哈夫曼树的思想来构建k路二叉树,得到最短的带权路径长度WPL,也就是系统磁盘I/O次数的最小值,以此来降低开销
- 不需要添加虚段
- 需要添加虚段
- 虚段添加规则