对合并排序和快速排序的一点思考
2011-04-26 07:30
316 查看
合并排序和快速排序都是分治法思想的体现,而且都采用了递归的算法来实现。当我想将插入排序与这两种算法结合时,引发了我的一点思考。
插入排序在元素个数不多的时候具有较好的效率,所以我想在上面两种算法进行递归到较小的元素个数时采用插入排序。这个时候发现,合并排序和快速排序的递归有很大的不同。
合并排序是由底向上,不断地合并,不断地将两组元素重新排序,它要排序的两组元素个数是越来越多。
快速排序是由上向下,不断地分裂,每次分裂保证前后两组元素分别大于或小于分裂点的元素,它需要排序的两组元素个数是越来越少。
我觉得也可称快速排序为分裂排序,与合并排序相对应,一个由下至上,另一个由上至下。
插入排序在元素个数不多的时候具有较好的效率,所以我想在上面两种算法进行递归到较小的元素个数时采用插入排序。这个时候发现,合并排序和快速排序的递归有很大的不同。
合并排序是由底向上,不断地合并,不断地将两组元素重新排序,它要排序的两组元素个数是越来越多。
快速排序是由上向下,不断地分裂,每次分裂保证前后两组元素分别大于或小于分裂点的元素,它需要排序的两组元素个数是越来越少。
我觉得也可称快速排序为分裂排序,与合并排序相对应,一个由下至上,另一个由上至下。
相关文章推荐
- 第二章之“合并排序中对小数组采用插入排序”(思考题2-1)
- scala 快速排序与合并排序
- 二分搜索,合并排序及快速排序
- 插入排序、合并排序、堆排序和快速排序
- 分治思想:合并排序和快速排序
- 关于排序的一点思考
- 分治法中的合并排序和快速排序
- 递归与分治-合并排序、快速排序以及循环赛问题
- 算法(分治)合并排序和快速排序
- 快速排序与合并排序时间比较(适合初学者)
- 对大数据处理的存储,排序和计算的一点思考
- 快速排序和合并排序的比较(时间和比较步数)
- 算法分析与设计实验 分治策略 两路合并排序和快速排序
- 基于分治策略的排序算法:合并排序和快速排序
- 对于最常用的排序快速排序的思考
- 第七章快速排序之“采取“尾递归”和“三数取中”技术的快速排序”(思考题7-4、7-5)
- 算法有插入排序,堆排序,合并排序,快速排序和stooge排序
- 快速排序、合并排序、基数排序时间复杂度
- [Algorithms] 分治算法(二分查找, 合并排序, 插入排序, 快速排序(coming))
- 每天学习一点编程(10)(字符串的合并排序处理)