第三章:分治II

3.1逆序对计数问题

 

 

 

 

 

 

 

 合并这个步骤是比较难的,也会区别于“最大数组问题”的地方。

 归并排序的过程正好可以顺便统计逆序对,所以将统计逆序对嵌入到归并排序的算法当中。

 

 

 

 所以合并的算法复杂度就降到了归并排序的O(n)。

 

 

 

 

 

 

 

 

 

3.2快速排序

归并排序:分的过程,1/2切开,所以这部分没有话费多少时间,即简化分解,侧重合并。

快速排序:侧重分解,简化合并。

 

 

 

 

 

 

 

 

 

 一分为三。

 

 

 

 改进:因为每次的主元选择都是在头部或者尾部,这样就是固定的。如果将主元改成随机选择,应该会好一些。

 

 

 

 

 

 

 

 

3.3次序选择问题

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-11-25 16:42  不妨不妨,来日方长  阅读(197)  评论(0编辑  收藏  举报