【发布时间】:2017-06-30 19:25:12
【问题描述】:
排序网络是 2 个输入比较器的排列,可以对包含 n 个元素的输入序列进行排序。 例如,这是一个 9 元素输入的排序网络:
每条垂直线是一个2输入比较器,输入序列在左边进入,排序后的序列出现在右边。
我的问题是:如何证明如果我们删除任何有效的 n 输入排序网络的顶线或底线,我们最终将得到一个有效的 (n-1) 输入排序网络?删除任何中间线怎么样?
我觉得这可以使用排序网络的图形表示来显示,但我找不到合适的表示。
【问题讨论】:
-
有一个简单的推理方法:想象最后一行的元素总是比其他元素大。在这种情况下,与它的比较永远不会移动任何元素,但仍会对输入的其余部分进行排序。由于与最后一行的比较不会改变任何内容,这意味着删除它们确实可以对 n - 1 个元素进行排序。
标签: algorithm sorting graph-algorithm sorting-network