摘要: 非递归版的归并排序,省略了中间的栈空间,直接申请一段O(n)的地址空间即可,因此空间复杂度为O(n),时间复杂度为O(nlogn);算法思想: 开始以间隔为1的进行归并,也就是说,第一个元素跟第二个进行归并。第三个与第四个进行归并; 然后,再以间隔为2的进行归并,1-4进行归并,5-8进行归并;... 阅读全文
posted @ 2014-04-17 19:57 xingoo 阅读(12395) 评论(1) 推荐(4)
摘要: 递归版的合并排序,时间复杂度为O(nlogn),空间复杂度为O(n+logn);算法思想: 利用分而自治的思想,把排序分成两块,每块内部排序,再进行一次遍历排序即可,递归调用此过程即可。主要代码:void MergeSort(int *arr,int length){ Msort(arr,a... 阅读全文
posted @ 2014-04-17 16:53 xingoo 阅读(1833) 评论(0) 推荐(0)