参考本维基百科的文章:https://en.wikipedia.org/wiki/Sorting_network,重点关注段落构建排序网络。
您能解释一下Size, upper bound
和Size, lower bound
(表中)是什么吗?
我希望lower bound
指的是正确排序n个数字输入所需的最小连接数(我是否正确?)。如果是这样,为什么还要费心upper bound
?理论上,人们可以使用大于upper bound
的多个连接,那么如何建立?
我也阅读了链接的论文(参考文献11),但我仍感到困惑。
答案 0 :(得分:2)
表格后面的段落提示了上限和下限的含义:
对于一到十个输入,最小(即尺寸最佳)排序网络是已知的,对于更高的值,其大小 S(n)的下限可以使用由Van Voorhis引起的引理归纳导出: S(n + 1)≥S(n)+⌈log2(n)⌉。
表中的“上限”显然对应于要排序的给定数量的元素的当前已知当前已知的最大尺寸分类网络的大小。已经证明,1到10个元素的已知尺寸最佳分拣网络是最佳的,但我们不确定更多元素的已知尺寸最佳分拣网络实际上是最佳的。 “下限”对应于排序网络的理论最小尺寸,以对给定数量的元素进行排序:这种大小的排序网络可能不存在,但我们还没有证明这一点。
总结一下:
作为旁注,我使用大小最优的排序网络维护a library,并且它们的大小对应于表格中的“上限”(另请参阅the documentation和the implementation)。