二路归并排序的时间复杂度是O(n*log2n),空间复杂度是O(n)。
代码如下:
/**
* 源码名称:MergeSort.java
* 日期:2014-08-11
* 程序功能:合并排序
* 版权:CopyRight@A2BGeek
* 作者:A2BGeek
*/
public class MergeSort {
public void mergeSort(int[]...
分类:
其他好文 时间:
2014-08-11 17:52:02
阅读次数:
204
分治思想: 分治算法的思想就是 对于某些特定种类的问题 如果问题的规模很小,那么就直接解决,如果问题的规模比较大,那么就把问题先分解为规模小的但是问题相同的子问题 ,并且不断分解直到规模足够小,再递归地解决这些问题 如果原问题可分割成k个子问题,1 File Name: mergesort....
分类:
其他好文 时间:
2014-08-06 18:34:32
阅读次数:
311
算法思想灰常重要,常见的用到分治思想的算法包括快速排序,归并,二分搜搜,大整数乘法等(参考 http://blog.csdn.net/com_stu_zhang/article/details/7233761,归纳很到位)简单用归并对一个数组排序 思路: 简单来说对一个数组,只要他的左右两部分都是有...
分类:
其他好文 时间:
2014-07-31 23:35:50
阅读次数:
381
merge sort
----------------------------------------------------------------------
描述:归并排序
思路:
1.将区间对半分割
2.对左、右段分别排序
3.利用inplace_merge将左、右段合并成为一个完整的有序序列
复杂度:O(log n)
源码:
template
void mergesort(BidirectionalIter first, Bidirecti...
分类:
其他好文 时间:
2014-07-20 23:05:52
阅读次数:
245
Sort a linked list in O(n log n) time using constant space complexity.merge sort、heap sort和quick sort都是O(nlgn),但是mergesort和quicksort都是递归的,不是constant s...
分类:
其他好文 时间:
2014-07-06 21:07:41
阅读次数:
210
它的思想是将一个无序的数组先用递归进行二分,当分解为无限小时,即为单个整数时,再对其进行排列。得出有序的数组 代码如下: package com.jll.sort; public class MergeSort { public MergeSort() { } public void merge(i...
分类:
其他好文 时间:
2014-07-06 21:01:33
阅读次数:
161
参看别人的思路,类似MergeSort的思路,思路是先分成两个子任务,然后递归求子任务,最后回溯回来。这个题目也是这样,先把k个list分成两半,然后继续划分,直到剩下两个list就合并起来,合并时会用到Merge
Two Sorted Lists这道题。 1 /** 2 * Definition....
分类:
其他好文 时间:
2014-06-16 08:26:57
阅读次数:
150
Sort a linked list inO(nlogn) time using
constant space complexity.单向链表排序O(nlogn),Mergesort可以实现。 1 /** 2 * Definition for
singly-linked list. 3 * st.....
分类:
其他好文 时间:
2014-06-10 00:44:11
阅读次数:
329
归并排序,递归实现
public class MergeSort2 {
// 对data数组中的 [a,b) 区间的数据进行归并排序,
// 排序结束后,[a,b)间数据处于升序有序状态
static void mergeSort(int[] data, int a,int b)
{
if (a >= b) return;
int mid=(a+b)/2;
mergeSort(da...
分类:
其他好文 时间:
2014-06-02 19:02:41
阅读次数:
305
Sort ListSort a linked list inO(nlogn) time
using constant space
complexity.要求时间复杂度为O(nlogn),那么不能用quickSort了(最坏O(n^2)),所以使用mergeSort.通常写排序算法都是基于数组的,这题...
分类:
其他好文 时间:
2014-06-02 06:29:51
阅读次数:
192