bitonicSort学习
- 什么是Bitonic Sort
- 核心
什么是Bitonic Sort
https://zhuanlan.zhihu.com/p/53963918
这个是用来并行排序的一个操作
之前学过一些CPU排序,快排 冒泡 归并啥的,有一些能转成并行,有一些不适合
像快排这种二分策略就可以考虑转一下,今天看一下这个双调排序
核心
假定数据是2次幂,根据上文解释,首先整个序列是一个双调序列才行,既然递增递减,那直接递增的和递减的index对应好,直接比较,然后大的在一个MAX队列,小的在一个MIN队列,也就是继续构建sub双调序列
然后乱序的序列需要先转双调,如下图8个元素的演示操作,像排序的逆向操作,先2个元素内升或者降,然后4个元素之内保持单调升或者降,然后整个就是双调了
图是上面链接里的
如果不是二次幂,可以直接搞成二次幂,尾数全给99999999这种。。省事,但是如果不开空间,估计就是时间增加的算法了