双调序列
若序列进行循环位移后能分割成两个单调的序列,则该序列被称为双调序列
Batcher 定理
一个长度为偶数的双调序列分成前后等长的两部分,每两个对应位置元素调用比较器后,仍然得到两个双调序列,并且较小那部分的 \(\min\) 不大于较大那部分的 \(\max\)
把双调序列的走势画出来,把后半部分平移与前半部分重叠,一旦走势相交出现额外的转折点就说明元素交换后所处部分产生了互换
当前半部分或后半部分单调时,最多产生一个额外的转折点
对于先减后增再减的双调序列,第一个元素不大于最后一个元素,所以当后半部分第一个元素小于前半部分第一个元素时最多出现一次额外的转折点
对一个长度为 \(2^k\) 的序列