合并排序和快速排序都是分治法思想的体现,而且都采用了递归的算法来实现。当我想将插入排序与这两种算法结合时,引发了我的一点思考。
插入排序在元素个数不多的时候具有较好的效率,所以我想在上面两种算法进行递归到较小的元素个数时采用插入排序。这个时候发现,合并排序和快速排序的递归有很大的不同。
合并排序是由底向上,不断地合并,不断地将两组元素重新排序,它要排序的两组元素个数是越来越多。
快速排序是由上向下,不断地分裂,每次分裂保证前后两组元素分别大于或小于分裂点的元素,它需要排序的两组元素个数是越来越少。
我觉得也可称快速排序为分裂排序,与合并排序相对应,一个由下至上,另一个由上至下。