第三章:分治II
3.1逆序对计数问题
合并这个步骤是比较难的,也会区别于“最大数组问题”的地方。
归并排序的过程正好可以顺便统计逆序对,所以将统计逆序对嵌入到归并排序的算法当中。
所以合并的算法复杂度就降到了归并排序的O(n)。
3.2快速排序
归并排序:分的过程,1/2切开,所以这部分没有话费多少时间,即简化分解,侧重合并。
快速排序:侧重分解,简化合并。
一分为三。
改进:因为每次的主元选择都是在头部或者尾部,这样就是固定的。如果将主元改成随机选择,应该会好一些。
3.3次序选择问题