双调排序算法(Bitonic Sorting)原理分析

双调序列排序的原理请参考下面这篇博客:参考博客
下面仔细分析一下任意序列实现双调序列的排序过程:
如图,一个16元素的任意序列排序
双调排序算法(Bitonic Sorting)原理分析_第1张图片
1、任意两个元素组成一个单调序列,使得相邻的两个序列的单调性相反,一共有8个单调序列。
2、将这两个相邻的序列组合形成一个双调序列,此时有4个双调序列。运用双调序列的排序方法进行排序。排序结果是有4个单调序列。注意:只包含两个元素的单调序列也可以看成是双调序列,也要进行排序
3、将上一步的4个单调序列按照相邻序列单调性相反的规则排好,在将相邻的两个单调性相反的单调序列组合形成双调序列,这时有2个双调序列,运用双调序列的排序方法,将序列排好序,结果是有2个单调序列
4、再将上一步的两个单调序列组合形成双调序列,运用双调序列的排序方法,进行排序

你可能感兴趣的:(算法)