我一直在做一些关于替换选择排序的研究,我找不到它的任何实现,或者在任何地方找到一个好的,彻底的替换选择排序实现!也许我看起来不够努力,但谷歌将替换选择排序与选择排序混淆......所以这让我感到疑惑:
选择排序和替换选择排序之间的真正区别是什么?
我在哪里可以找到替换选择排序的实现(或编写它的指南)?
替换选择排序的特征是什么,使其比其他排序算法更理想?
这个算法是否为其他任何名称所知?
答案 0 :(得分:0)
替换排序仍然用于外部排序,因为它将产生最少数量的要合并的字符串,合并是排序中成本最高的部分。使用的方法比提供的优秀示例templatetypedef稍微复杂一些,但基本上它会缓冲许多记录,对它们进行排序,收集无序记录(如-1 1等)并将它们保存在缓冲区中,写出低阶部分在序列中,填充空的空间,再次排序,从缓冲区合并任何适合的记录,并重复直到序列无法继续,然后它转储序列,获取缓冲的序列记录和新的输入记录,从下一个字符串开始。重复输入结束。
在一些应用程序中,不需要合并,因为替换排序会从序列记录中扫除,然后在正确的位置重新插入它们。 1964年霍尼韦尔和IBM推出此类产品时,这给许多商业客户带来了惊喜。