在说这个话题之前,先说一个排序算法“归并算法”。合并算法采用了分而治之的思想。结合成大问题的答案。乍一看,和递归思维很像,确实如此。分而治之的思想一般都是用递归来实现的。但需要注意的是,递归是代码的实现方式,分而治之属于理论。接下来看一张图理解一下:说完它的思路:下面我们来分析一下时间复杂度。归并算法采用完全二叉树的形式。因此,从完全二叉树的深度可以知道,整个归并排序需要进行log2n次。那么每次都需要O{n}次。所以总的时间复杂度是o{nlog2n}。归并排序是一个比较耗内存,但高效稳定的算法贴上代码:staticvoidMain(string[]args){int[]arr=newint[]{14,12,15,13,??11,16,10};int[]newArr=Sort(arr,newint[7],0,arr.Length-1);对于(inti=0;i
