R..*_*R.. 13 c sorting median sorting-network
我正在寻找一个5元素排序的排序网络实现,但由于我在SO上找不到一个好的参考,我想要求为所有小的n值排序网络,至少n = 3通过n = 6但更高的值也会很好.一个好的答案至少应该将它们列为"交换"(对2个元素进行排序)操作的序列,但是在低阶排序网络方面看到递归分解也可能会很好.
对于我的应用程序,我实际上只关心5个元素的中位数,而不是实际按顺序排列.也就是说,只要中位数在正确的位置结束,结果中可能未指定其他4个元素的顺序.可以使用与排序网络相关的方法来计算交换数量少于执行完整排序的中位数吗?如果是这样,我的问题(对于n = 5)和其他情况的这种解决方案也会得到一个很好的答案.
(注意:我已经标记了这个问题C,因为C是我使用的语言,我怀疑跟随C标签的人有很好的答案,但我真的不在乎答案实际上是用C编写而不是伪代码只要符合上述标准,它就可以很容易地转换成C语言.)
Ste*_*sop 15
从每个部分中选择一个,大概是在你的硬件上以最快的速度运行,因为我们坚定地处于"恶魔般的优化"领域:http://smarterrecall.com/networks.html,转载如下:
我创建了这个网站,列出了所有可能的最佳排序网络,最多可以使用matlab中的程序编写6个输入.最长的运行时间是45秒的5输入.如果您有兴趣与我联系,我可以通过rpl1 [AT] rice [DOT] edu Cheers,Richard L.
----------
- 2-input: 1 network
[[1 2]]
----------
- 3-input: 6 networks
[[1 2][1 3][2 3]]
[[1 2][2 3][1 2]]
[[1 3][1 2][2 3]]
[[1 3][2 3][1 2]]
[[2 3][1 2][2 3]]
[[2 3][1 3][1 2]]
----------
- 4-input: 3 networks
[[1 2][3 4][1 3][2 4][2 3]]
[[1 3][2 4][1 2][3 4][2 3]]
[[1 4][2 3][1 2][3 4][2 3]]
----------
- 5-input: 180 networks
[[1 2][3 4][1 3][2 5][1 2][3 4][2 3][4 5][3 4]]
[[1 2][3 4][1 3][2 5][2 3][4 5][1 2][3 4][2 3]]
[[1 2][3 4][1 3][4 5][1 4][2 3][2 4][3 5][3 4]]
[[1 2][3 4][1 3][4 5][2 5][3 4][1 3][2 4][2 3]]
[[1 2][3 4][1 4][2 5][2 3][4 5][1 2][3 4][2 3]]
[[1 2][3 4][1 4][3 5][1 3][2 5][2 3][4 5][3 4]]
[[1 2][3 4][1 5][2 3][1 2][4 5][2 4][3 5][3 4]]
[[1 2][3 4][1 5][2 4][1 3][2 5][2 3][4 5][3 4]]
[[1 2][3 4][1 5][2 4][2 3][4 5][1 2][3 4][2 3]]
[[1 2][3 4][2 3][4 5][1 4][3 5][1 2][3 4][2 3]]
[[1 2][3 4][2 4][3 5][1 2][4 5][1 3][2 4][2 3]]
[[1 2][3 4][2 4][3 5][1 3][2 5][2 3][4 5][3 4]]
[[1 2][3 5][1 3][2 4][1 2][3 5][2 3][4 5][3 4]]
[[1 2][3 5][1 3][2 4][2 3][4 5][1 2][3 4][2 3]]
[[1 2][3 5][1 3][4 5][1 4][2 3][2 4][3 5][3 4]]
[[1 2][3 5][1 3][4 5][2 5][3 4][1 3][2 4][2 3]]
[[1 2][3 5][1 4][2 3][1 2][4 5][2 4][3 5][3 4]]
[[1 2][3 5][1 4][2 5][1 3][2 4][2 3][4 5][3 4]]
[[1 2][3 5][1 4][2 5][2 3][4 5][1 2][3 4][2 3]]
[[1 2][3 5][1 5][2 4][2 3][4 5][1 2][3 4][2 3]]
[[1 2][3 5][1 5][3 4][1 3][2 4][2 3][4 5][3 4]]
[[1 2][3 5][2 3][4 5][1 4][3 5][1 2][3 4][2 3]]
[[1 2][3 5][2 5][3 4][1 2][4 5][1 3][2 4][2 3]]
[[1 2][3 5][2 5][3 4][1 3][2 4][2 3][4 5][3 4]]
[[1 2][4 5][1 3][2 4][1 2][3 5][2 3][4 5][3 4]]
[[1 2][4 5][1 3][2 5][1 4][2 3][2 4][3 5][3 4]]
[[1 2][4 5][1 3][2 5][2 4][3 5][1 2][3 4][2 3]]
[[1 2][4 5][1 4][2 3][1 2][4 5][2 4][3 5][3 4]]
[[1 2][4 5][1 4][2 3][2 4][3 5][1 2][3 4][2 3]]
[[1 2][4 5][1 4][3 5][1 3][2 4][2 3][4 5][3 4]]
[[1 2][4 5][1 4][3 5][2 5][3 4][1 3][2 4][2 3]]
[[1 2][4 5][1 5][2 3][2 4][3 5][1 2][3 4][2 3]]
[[1 2][4 5][1 5][3 4][1 3][2 4][2 3][4 5][3 4]]
[[1 2][4 5][2 4][3 5][1 3][4 5][1 2][3 4][2 3]]
[[1 2][4 5][2 5][3 4][1 2][4 5][1 3][2 4][2 3]]
[[1 2][4 5][2 5][3 4][1 3][2 4][2 3][4 5][3 4]]
[[1 3][2 4][1 2][3 5][1 3][2 4][2 3][4 5][3 4]]
[[1 3][2 4][1 2][3 5][2 3][4 5][1 2][3 4][2 3]]
[[1 3][2 4][1 2][4 5][1 4][2 3][2 4][3 5][3 4]]
[[1 3][2 4][1 2][4 5][2 4][3 5][1 2][3 4][2 3]]
[[1 3][2 4][1 4][2 5][1 2][3 5][2 3][4 5][3 4]]
[[1 3][2 4][1 4][3 5][2 3][4 5][1 2][3 4][2 3]]
[[1 3][2 4][1 5][2 3][1 2][4 5][2 4][3 5][3 4]]
[[1 3][2 4][1 5][3 4][1 2][3 5][2 3][4 5][3 4]]
[[1 3][2 4][1 5][3 4][2 3][4 5][1 2][3 4][2 3]]
[[1 3][2 4][2 3][4 5][1 4][3 5][1 2][3 4][2 3]]
[[1 3][2 4][2 5][3 4][1 2][3 5][2 3][4 5][3 4]]
[[1 3][2 4][2 5][3 4][1 3][4 5][1 2][3 4][2 3]]
[[1 3][2 5][1 2][3 4][1 3][2 5][2 3][4 5][3 4]]
[[1 3][2 5][1 2][3 4][2 3][4 5][1 2][3 4][2 3]]
[[1 3][2 5][1 2][4 5][1 4][2 3][2 4][3 5][3 4]]
[[1 3][2 5][1 2][4 5][2 4][3 5][1 2][3 4][2 3]]
[[1 3][2 5][1 4][2 3][1 2][4 5][2 4][3 5][3 4]]
[[1 3][2 5][1 4][3 5][1 2][3 4][2 3][4 5][3 4]]
[[1 3][2 5][1 4][3 5][2 3][4 5][1 2][3 4][2 3]]
[[1 3][2 5][1 5][2 4][1 2][3 4][2 3][4 5][3 4]]
[[1 3][2 5][1 5][3 4][2 3][4 5][1 2][3 4][2 3]]
[[1 3][2 5][2 3][4 5][1 4][3 5][1 2][3 4][2 3]]
[[1 3][2 5][2 4][3 5][1 2][3 4][2 3][4 5][3 4]]
[[1 3][2 5][2 4][3 5][1 3][4 5][1 2][3 4][2 3]]
[[1 3][4 5][1 2][3 4][1 3][2 5][2 3][4 5][3 4]]
[[1 3][4 5][1 2][3 5][1 4][2 3][2 4][3 5][3 4]]
[[1 3][4 5][1 2][3 5][2 5][3 4][1 3][2 4][2 3]]
[[1 3][4 5][1 4][2 3][1 2][4 5][2 4][3 5][3 4]]
[[1 3][4 5][1 4][2 3][2 4][3 5][1 2][3 4][2 3]]
[[1 3][4 5][1 4][2 5][1 2][3 4][2 3][4 5][3 4]]
[[1 3][4 5][1 4][2 5][2 4][3 5][1 2][3 4][2 3]]
[[1 3][4 5][1 5][2 3][2 4][3 5][1 2][3 4][2 3]]
[[1 3][4 5][1 5][2 4][1 2][3 4][2 3][4 5][3 4]]
[[1 3][4 5][2 4][3 5][1 2][3 4][2 3][4 5][3 4]]
[[1 3][4 5][2 4][3 5][1 3][4 5][1 2][3 4][2 3]]
[[1 3][4 5][2 5][3 4][1 2][4 5][1 3][2 4][2 3]]
[[1 4][2 3][1 2][3 5][1 3][2 4][2 3][4 5][3 4]]
[[1 4][2 3][1 2][3 5][2 3][4 5][1 2][3 4][2 3]]
[[1 4][2 3][1 2][4 5][1 4][2 3][2 4][3 5][3 4]]
[[1 4][2 3][1 2][4 5][2 4][3 5][1 2][3 4][2 3]]
[[1 4][2 3][1 3][2 5][1 2][4 5][2 4][3 5][3 4]]
[[1 4][2 3][1 3][4 5][2 4][3 5][1 2][3 4][2 3]]
[[1 4][2 3][1 5][2 4][1 2][3 5][2 3][4 5][3 4]]
[[1 4][2 3][1 5][3 4][1 2][3 5][2 3][4 5][3 4]]
[[1 4][2 3][1 5][3 4][2 3][4 5][1 2][3 4][2 3]]
[[1 4][2 3][2 4][3 5][1 3][4 5][1 2][3 4][2 3]]
[[1 4][2 3][2 5][3 4][1 2][3 5][2 3][4 5][3 4]]
[[1 4][2 3][2 5][3 4][1 3][4 5][1 2][3 4][2 3]]
[[1 4][2 5][1 2][3 4][1 3][2 5][2 3][4 5][3 4]]
[[1 4][2 5][1 2][3 4][2 3][4 5][1 2][3 4][2 3]]
[[1 4][2 5][1 2][3 5][1 3][2 4][2 3][4 5][3 4]]
[[1 4][2 5][1 2][3 5][2 3][4 5][1 2][3 4][2 3]]
[[1 4][2 5][1 3][2 4][1 2][3 5][2 3][4 5][3 4]]
[[1 4][2 5][1 3][4 5][1 2][3 4][2 3][4 5][3 4]]
[[1 4][2 5][1 3][4 5][2 4][3 5][1 2][3 4][2 3]]
[[1 4][2 5][1 5][2 3][1 2][3 4][2 3][4 5][3 4]]
[[1 4][2 5][1 5][3 4][2 3][4 5][1 2][3 4][2 3]]
[[1 4][2 5][2 3][4 5][1 2][3 4][2 3][4 5][3 4]]
[[1 4][2 5][2 3][4 5][1 4][3 5][1 2][3 4][2 3]]
[[1 4][2 5][2 4][3 5][1 3][4 5][1 2][3 4][2 3]]
[[1 4][3 5][1 2][3 4][1 3][2 5][2 3][4 5][3 4]]
[[1 4][3 5][1 2][4 5][1 3][2 4][2 3][4 5][3 4]]
[[1 4][3 5][1 2][4 5][2 5][3 4][1 3][2 4][2 3]]
[[1 4][3 5][1 3][2 4][1 2][3 5][2 3][4 5][3 4]]
[[1 4][3 5][1 3][2 4][2 3][4 5][1 2][3 4][2 3]]
[[1 4][3 5][1 3][2 5][1 2][3 4][2 3][4 5][3 4]]
[[1 4][3 5][1 3][2 5][2 3][4 5][1 2][3 4][2 3]]
[[1 4][3 5][1 5][2 3][1 2][3 4][2 3][4 5][3 4]]
[[1 4][3 5][1 5][2 4][2 3][4 5][1 2][3 4][2 3]]
[[1 4][3 5][2 3][4 5][1 2][3 4][2 3][4 5][3 4]]
[[1 4][3 5][2 3][4 5][1 4][3 5][1 2][3 4][2 3]]
[[1 4][3 5][2 5][3 4][1 2][4 5][1 3][2 4][2 3]]
[[1 5][2 3][1 2][3 4][1 3][2 5][2 3][4 5][3 4]]
[[1 5][2 3][1 2][3 4][2 3][4 5][1 2][3 4][2 3]]
[[1 5][2 3][1 2][4 5][1 4][2 3][2 4][3 5][3 4]]
[[1 5][2 3][1 2][4 5][2 4][3 5][1 2][3 4][2 3]]
[[1 5][2 3][1 3][2 4][1 2][4 5][2 4][3 5][3 4]]
[[1 5][2 3][1 3][4 5][2 4][3 5][1 2][3 4][2 3]]
[[1 5][2 3][1 4][2 5][1 2][3 4][2 3][4 5][3 4]]
[[1 5][2 3][1 4][3 5][1 2][3 4][2 3][4 5][3 4]]
[[1 5][2 3][1 4][3 5][2 3][4 5][1 2][3 4][2 3]]
[[1 5][2 3][2 4][3 5][1 2][3 4][2 3][4 5][3 4]]
[[1 5][2 3][2 4][3 5][1 3][4 5][1 2][3 4][2 3]]
[[1 5][2 3][2 5][3 4][1 3][4 5][1 2][3 4][2 3]]
[[1 5][2 4][1 2][3 4][1 3][2 5][2 3][4 5][3 4]]
[[1 5][2 4][1 2][3 4][2 3][4 5][1 2][3 4][2 3]]
[[1 5][2 4][1 2][3 5][1 3][2 4][2 3][4 5][3 4]]
[[1 5][2 4][1 2][3 5][2 3][4 5][1 2][3 4][2 3]]
[[1 5][2 4][1 3][2 5][1 2][3 4][2 3][4 5][3 4]]
[[1 5][2 4][1 3][4 5][1 2][3 4][2 3][4 5][3 4]]
[[1 5][2 4][1 3][4 5][2 4][3 5][1 2][3 4][2 3]]
[[1 5][2 4][1 4][2 3][1 2][3 5][2 3][4 5][3 4]]
[[1 5][2 4][1 4][3 5][2 3][4 5][1 2][3 4][2 3]]
[[1 5][2 4][2 3][4 5][1 2][3 4][2 3][4 5][3 4]]
[[1 5][2 4][2 3][4 5][1 4][3 5][1 2][3 4][2 3]]
[[1 5][2 4][2 5][3 4][1 3][4 5][1 2][3 4][2 3]]
[[1 5][3 4][1 2][3 5][1 3][2 4][2 3][4 5][3 4]]
[[1 5][3 4][1 2][4 5][1 3][2 4][2 3][4 5][3 4]]
[[1 5][3 4][1 2][4 5][2 5][3 4][1 3][2 4][2 3]]
[[1 5][3 4][1 3][2 4][1 2][3 5][2 3][4 5][3 4]]
[[1 5][3 4][1 3][2 4][2 3][4 5][1 2][3 4][2 3]]
[[1 5][3 4][1 3][2 5][1 2][3 4][2 3][4 5][3 4]]
[[1 5][3 4][1 3][2 5][2 3][4 5][1 2][3 4][2 3]]
[[1 5][3 4][1 4][2 3][1 2][3 5][2 3][4 5][3 4]]
[[1 5][3 4][1 4][2 5][2 3][4 5][1 2][3 4][2 3]]
[[1 5][3 4][2 3][4 5][1 2][3 4][2 3][4 5][3 4]]
[[1 5][3 4][2 3][4 5][1 4][3 5][1 2][3 4][2 3]]
[[1 5][3 4][2 4][3 5][1 2][4 5][1 3][2 4][2 3]]
[[2 3][4 5][1 2][3 4][1 3][2 5][2 3][4 5][3 4]]
[[2 3][4 5][1 2][3 5][1 4][2 3][2 4][3 5][3 4]]
[[2 3][4 5][1 2][3 5][2 5][3 4][1 3][2 4][2 3]]
[[2 3][4 5][1 3][2 4][1 2][4 5][2 4][3 5][3 4]]
[[2 3][4 5][1 3][2 4][1 4][3 5][1 2][3 4][2 3]]
[[2 3][4 5][1 3][2 5][1 4][3 5][1 2][3 4][2 3]]
[[2 3][4 5][1 4][2 5][1 2][3 4][2 3][4 5][3 4]]
[[2 3][4 5][1 4][3 5][1 2][3 4][2 3][4 5][3 4]]
[[2 3][4 5][1 4][3 5][2 3][4 5][1 2][3 4][2 3]]
[[2 3][4 5][1 5][2 4][1 2][3 4][2 3][4 5][3 4]]
[[2 3][4 5][1 5][2 4][1 4][3 5][1 2][3 4][2 3]]
[[2 3][4 5][1 5][3 4][1 2][4 5][1 3][2 4][2 3]]
[[2 4][3 5][1 2][3 4][1 3][2 5][2 3][4 5][3 4]]
[[2 4][3 5][1 2][4 5][1 3][2 4][2 3][4 5][3 4]]
[[2 4][3 5][1 2][4 5][2 5][3 4][1 3][2 4][2 3]]
[[2 4][3 5][1 3][2 5][1 2][3 4][2 3][4 5][3 4]]
[[2 4][3 5][1 3][4 5][1 2][3 4][2 3][4 5][3 4]]
[[2 4][3 5][1 3][4 5][2 4][3 5][1 2][3 4][2 3]]
[[2 4][3 5][1 4][2 3][1 2][3 5][2 3][4 5][3 4]]
[[2 4][3 5][1 4][2 3][1 3][4 5][1 2][3 4][2 3]]
[[2 4][3 5][1 4][2 5][1 3][4 5][1 2][3 4][2 3]]
[[2 4][3 5][1 5][2 3][1 2][3 4][2 3][4 5][3 4]]
[[2 4][3 5][1 5][2 3][1 3][4 5][1 2][3 4][2 3]]
[[2 4][3 5][1 5][3 4][1 2][4 5][1 3][2 4][2 3]]
[[2 5][3 4][1 2][3 5][1 3][2 4][2 3][4 5][3 4]]
[[2 5][3 4][1 2][4 5][1 3][2 4][2 3][4 5][3 4]]
[[2 5][3 4][1 2][4 5][2 5][3 4][1 3][2 4][2 3]]
[[2 5][3 4][1 3][2 4][1 2][3 5][2 3][4 5][3 4]]
[[2 5][3 4][1 3][4 5][1 2][3 4][2 3][4 5][3 4]]
[[2 5][3 4][1 3][4 5][2 4][3 5][1 2][3 4][2 3]]
[[2 5][3 4][1 4][2 3][1 2][3 5][2 3][4 5][3 4]]
[[2 5][3 4][1 4][2 3][1 3][4 5][1 2][3 4][2 3]]
[[2 5][3 4][1 4][3 5][1 2][4 5][1 3][2 4][2 3]]
[[2 5][3 4][1 5][2 3][1 2][3 4][2 3][4 5][3 4]]
[[2 5][3 4][1 5][2 3][1 3][4 5][1 2][3 4][2 3]]
[[2 5][3 4][1 5][2 4][1 3][4 5][1 2][3 4][2 3]]
----------
- 6-input: 90 networks
[[1 2][3 4][5 6][1 3][2 5][4 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 2][3 4][5 6][1 3][2 6][4 5][1 4][2 3][5 6][2 4][3 5][3 4]]
[[1 2][3 4][5 6][1 4][2 6][3 5][1 3][2 5][4 6][2 3][4 5][3 4]]
[[1 2][3 4][5 6][1 5][2 3][4 6][1 2][3 6][4 5][2 4][3 5][3 4]]
[[1 2][3 4][5 6][1 5][2 4][3 6][1 3][2 5][4 6][2 3][4 5][3 4]]
[[1 2][3 4][5 6][1 6][2 4][3 5][1 3][2 5][4 6][2 3][4 5][3 4]]
[[1 2][3 5][4 6][1 3][2 4][5 6][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 2][3 5][4 6][1 3][2 6][4 5][1 4][2 3][5 6][2 4][3 5][3 4]]
[[1 2][3 5][4 6][1 4][2 3][5 6][1 2][3 6][4 5][2 4][3 5][3 4]]
[[1 2][3 5][4 6][1 4][2 5][3 6][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 2][3 5][4 6][1 5][2 6][3 4][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 2][3 5][4 6][1 6][2 5][3 4][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 2][3 6][4 5][1 3][2 4][5 6][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 2][3 6][4 5][1 3][2 5][4 6][1 4][2 3][5 6][2 4][3 5][3 4]]
[[1 2][3 6][4 5][1 4][2 3][5 6][1 2][3 6][4 5][2 4][3 5][3 4]]
[[1 2][3 6][4 5][1 4][2 6][3 5][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 2][3 6][4 5][1 5][2 6][3 4][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 2][3 6][4 5][1 6][2 5][3 4][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 3][2 4][5 6][1 2][3 5][4 6][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 3][2 4][5 6][1 2][3 6][4 5][1 4][2 3][5 6][2 4][3 5][3 4]]
[[1 3][2 4][5 6][1 4][2 5][3 6][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 3][2 4][5 6][1 5][2 3][4 6][1 2][3 6][4 5][2 4][3 5][3 4]]
[[1 3][2 4][5 6][1 5][2 6][3 4][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 3][2 4][5 6][1 6][2 5][3 4][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 3][2 5][4 6][1 2][3 4][5 6][1 3][2 5][4 6][2 3][4 5][3 4]]
[[1 3][2 5][4 6][1 2][3 6][4 5][1 4][2 3][5 6][2 4][3 5][3 4]]
[[1 3][2 5][4 6][1 4][2 3][5 6][1 2][3 6][4 5][2 4][3 5][3 4]]
[[1 3][2 5][4 6][1 4][2 6][3 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 3][2 5][4 6][1 5][2 4][3 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 3][2 5][4 6][1 6][2 4][3 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 3][2 6][4 5][1 2][3 4][5 6][1 3][2 5][4 6][2 3][4 5][3 4]]
[[1 3][2 6][4 5][1 2][3 5][4 6][1 4][2 3][5 6][2 4][3 5][3 4]]
[[1 3][2 6][4 5][1 4][2 3][5 6][1 2][3 6][4 5][2 4][3 5][3 4]]
[[1 3][2 6][4 5][1 4][2 5][3 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 3][2 6][4 5][1 5][2 4][3 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 3][2 6][4 5][1 6][2 4][3 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 4][2 3][5 6][1 2][3 5][4 6][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 4][2 3][5 6][1 2][3 6][4 5][1 4][2 3][5 6][2 4][3 5][3 4]]
[[1 4][2 3][5 6][1 3][2 5][4 6][1 2][3 6][4 5][2 4][3 5][3 4]]
[[1 4][2 3][5 6][1 5][2 4][3 6][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 4][2 3][5 6][1 5][2 6][3 4][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 4][2 3][5 6][1 6][2 5][3 4][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 4][2 5][3 6][1 2][3 4][5 6][1 3][2 5][4 6][2 3][4 5][3 4]]
[[1 4][2 5][3 6][1 2][3 5][4 6][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 4][2 5][3 6][1 3][2 4][5 6][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 4][2 5][3 6][1 3][2 6][4 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 4][2 5][3 6][1 5][2 3][4 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 4][2 5][3 6][1 6][2 3][4 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 4][2 6][3 5][1 2][3 4][5 6][1 3][2 5][4 6][2 3][4 5][3 4]]
[[1 4][2 6][3 5][1 2][3 6][4 5][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 4][2 6][3 5][1 3][2 4][5 6][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 4][2 6][3 5][1 3][2 5][4 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 4][2 6][3 5][1 5][2 3][4 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 4][2 6][3 5][1 6][2 3][4 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 5][2 3][4 6][1 2][3 4][5 6][1 3][2 5][4 6][2 3][4 5][3 4]]
[[1 5][2 3][4 6][1 2][3 6][4 5][1 4][2 3][5 6][2 4][3 5][3 4]]
[[1 5][2 3][4 6][1 3][2 4][5 6][1 2][3 6][4 5][2 4][3 5][3 4]]
[[1 5][2 3][4 6][1 4][2 5][3 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 5][2 3][4 6][1 4][2 6][3 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 5][2 3][4 6][1 6][2 4][3 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 5][2 4][3 6][1 2][3 4][5 6][1 3][2 5][4 6][2 3][4 5][3 4]]
[[1 5][2 4][3 6][1 2][3 5][4 6][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 5][2 4][3 6][1 3][2 5][4 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 5][2 4][3 6][1 3][2 6][4 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 5][2 4][3 6][1 4][2 3][5 6][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 5][2 4][3 6][1 6][2 3][4 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 5][2 6][3 4][1 2][3 5][4 6][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 5][2 6][3 4][1 2][3 6][4 5][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 5][2 6][3 4][1 3][2 4][5 6][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 5][2 6][3 4][1 3][2 5][4 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 5][2 6][3 4][1 4][2 3][5 6][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 5][2 6][3 4][1 6][2 3][4 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 6][2 3][4 5][1 2][3 4][5 6][1 3][2 5][4 6][2 3][4 5][3 4]]
[[1 6][2 3][4 5][1 2][3 5][4 6][1 4][2 3][5 6][2 4][3 5][3 4]]
[[1 6][2 3][4 5][1 3][2 4][5 6][1 2][3 6][4 5][2 4][3 5][3 4]]
[[1 6][2 3][4 5][1 4][2 5][3 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 6][2 3][4 5][1 4][2 6][3 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 6][2 3][4 5][1 5][2 4][3 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 6][2 4][3 5][1 2][3 4][5 6][1 3][2 5][4 6][2 3][4 5][3 4]]
[[1 6][2 4][3 5][1 2][3 6][4 5][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 6][2 4][3 5][1 3][2 5][4 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 6][2 4][3 5][1 3][2 6][4 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 6][2 4][3 5][1 4][2 3][5 6][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 6][2 4][3 5][1 5][2 3][4 6][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 6][2 5][3 4][1 2][3 5][4 6][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 6][2 5][3 4][1 2][3 6][4 5][1 3][2 4][5 6][2 3][4 5][3 4]]
[[1 6][2 5][3 4][1 3][2 4][5 6][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 6][2 5][3 4][1 3][2 6][4 5][1 2][3 4][5 6][2 3][4 5][3 4]]
[[1 6][2 5][3 4][1 4][2 3][5 6][1 2][3 5][4 6][2 3][4 5][3 4]]
[[1 6][2 5][3 4][1 5][2 3][4 6][1 2][3 4][5 6][2 3][4 5][3 4]]
Run Code Online (Sandbox Code Playgroud)
我个人在使用之前检查分拣网络是否正确,而不是在网上搜索一些随机页面.蛮力"只"需要在有限的许多输入上运行它:"显然" n!输入就足够了,事实上也是如此2**n(https://en.wikipedia.org/wiki/Sorting_network#Zero-one_principle).
所有最优的5网络在最后一次交换中涉及"3",因此选择较少交换的中位数并不是那么容易.不过,它可以在6次比较中完成.如果您可以忽略对问题的抱怨,那么代码的方式将超出您的需求:
要选择中位数,您不一定要进行任何掉期,除非您想要保留所有5个值,否则可能只有一个无条件掉期.此举可能就足够了.