双调的排序网络
【双调的排序网络】单调增加然后单调减少, 或者单调减少然后单调增加的序列称为双音序列。例如:序列(2、5、6、9、3、1)和(8、7、5、2、4、6)都是双声的。双音分类器是一个比较网络, 可对0和1的双音序列进行分类。
Half-Cleaner:双音速分选机包含多个阶段, 每个阶段都称为Half-cleaner。每个半清洁器都是深度为1的比较网络, 其中对于i = 1、2 …
, 将输入线i与线1+进行比较。
当将0和1的双音序列用作半清洁器的输入时, 半清洁器会产生一个输出序列, 其中较小的值在上半部, 较大的值在下半部, 并且两个半部都是双音的, 并且至少一半是干净的。
Bitonic Sorter:通过递归连接半清洁器, 我们可以构建一个Bitonic Sorter, 这是一个对Bitonic序列进行排序的网络。 BITONIC-SORTER [n]的第一级由HALF-CLEANER [n]组成, 它会产生两个大小为一半的双音序列, 以使上半部分的每个元素至少与下半部分的每个元素一样小。因此, 我们可以通过使用BITONIC-SORTER [n / 2]的两个副本来对两个半部分进行递归排序来完成排序。
图:BITONIC-SORTER [n]的深度D(n)由递归给出, 其解为D(n)= log n。
文章图片
推荐阅读
- Ford-folkerson算法
- 图论(网络流量问题)
- 多云与混合云的差异比较(有什么区别(哪个更好?))
- ps模糊工具的作用
- ps选项面板工具的作用
- Ghost windows732位与64位系统旗舰版的区别自制步骤
- Ghost windows732位与64位系统专业版的区别自制步骤
- android 特殊符号开头的联系人归并至“#”下
- Android 智能问答机器人的实现
- 安卓程序进入后台和前台的判断