排序比较之归并排序与快速排序
异同点:
虽然在于算法的区别主要在于递归实现的时机不同,在一些细节上也有着一些区别:
快速排序:
进行选择排序的时候,如果一轮还没有排序结束,会暂时将比中心值小的数放在紧挨着中心值的右边,并设置一个游标来控制这些数的下标,每找到一个小于的数就将游标的值加一换到下一个,直到一轮排序结束后,再将中心值和此时的游标交换位置,以达到左边的数字小于游标的值,此时再用递归的方法排序左边的值或者右边的值。
归并排序:
对于归并排序来说 会将数组先划分再排序,先会划分一小段将一小段排序,当有序后会排序下一小段,两个都为有序的时候,会将这两个归并,就是将两个有序的数组合并为一个有序的数组(注意,这种是自顶向下的排序方法)
而自底向上的方法则是分组后将每小组都排为有序的,再两两一排序,得到最后的整体有序