今天分享的算法是归并排序,排序有很多种算法
=====相关链接====
有对快速排序感兴趣的同学请点击锦绣谷传送门
有对堆排序感兴趣的同学请点击银月城传送门
进入我们今天的正题,首先引入概念
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。
看个例子,如一个无序数组3,5,7,2,6,1,3,8,4
归并排序的策略是将有序的子序列合并,也就是说我们要把它拆成若干个子序列,也就是拆成
3,5|7,2|6,1|3,8|4 之后我们对有序的子序列进行合并,先对3,5|7,2进行合并
3 | 5 | 7 | 2 | |
↑ |