经典排序算法 - 归并排序Merge sort
原理,把原始数组分成若干子数组,对每一个子数组进行排序,
继续把子数组与子数组合并,合并后仍然有序,直到全部合并完,形成有序的数组
举例
无序数组[6 2 4 1 5 9]
先看一下每个步骤下的状态,完了再看合并细节
第一步 [6 2 4 1 5 9]原始状态
第二步 [2 6] [1 4] [5 9]两两合并排序,排序细节后边介绍
...
分类:
编程语言 时间:
2014-12-16 13:34:18
阅读次数:
145
经典排序算法 - Strand Sort
Strand sort是思路是这样的,它首先需要一个空的数组用来存放最终的输出结果,给它取个名字叫"有序数组"
然后每次遍历待排数组,得到一个"子有序数组",然后将"子有序数组"与"有序数组"合并排序
重复上述操作直到待排数组为空结束
看例子吧
待排数组[ 6 2 4 1 5 9 ]
第一趟遍历得到"子有序数组"[ 6 9],并将其归并排...
分类:
编程语言 时间:
2014-12-16 13:31:52
阅读次数:
256
归并排序,具体如下图:代码实现:function merger( a, b ){ var array = [], m = a.length, n = b.length; for(var i = 0, j = 0; i b[j]){ array.push(b[j])...
分类:
编程语言 时间:
2014-12-15 23:21:36
阅读次数:
242
数据格式:[{"id":"d3e8a9d6-e4c6-4dd8-a94f-07733d3c1b59","parentId":"6d460008-38f7-479d-b6d1-058ebc17dae3","myorder":1,"name":"任务一"},{"id":"6d460008-38f7-47...
分类:
编程语言 时间:
2014-12-15 11:58:26
阅读次数:
211
Sort ListSort a linked list inO(nlogn) time using constant space complexity.这道题我想过用直接插入,超时了。百度了一下,用的是归并排序,排序以前用的都是数组,这次用链表,不太习惯参考:http://blog.csdn.net...
分类:
其他好文 时间:
2014-12-15 00:06:08
阅读次数:
238
堆排序和归并排序一样,时间复杂度为CodeCogsEqn(15),而且可以实现原址排序:任何时候都只需要常数个额外的元素空间存储临时数据。
分类:
编程语言 时间:
2014-12-13 23:06:21
阅读次数:
165
题目:请给出一个时间复杂度为nlogn的算法,使之能够在给定一个由n个整数的构成的整合S和另一个整数x时,判断出S中是否存在有两个其和等于x的元素。算法思想:1.先运用合并排序进行排序 O(nlgn),2.然后运用二分查找法寻找y,y = x - a[i],算法的时间复杂度小于nlogn,所以总的时...
分类:
编程语言 时间:
2014-12-13 19:23:22
阅读次数:
279
寻找大富翁
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4132 Accepted Submission(s): 1698
Problem Description
浙江桐乡乌镇共有n个人,请找出该镇上的前...
分类:
编程语言 时间:
2014-12-12 08:54:07
阅读次数:
189
归并排序
归并排序我在之前已经讲过了,并且给了在数组的数列的情况下的归并排序方法,而排序的时间复杂度为O(NlogN).想看的话链接如下:
归并排序,快排,冒泡排序
但是这个归并排序有一个缺点:需要O(n)的额外空间。
那么这个缺点在什么情况下会解决呢?就是数列是以链表形式存储的时候!就不需要额外的申请O(n)级别的空间。
那么我们为什么要用归并排序呢? 不是还有快排,堆...
分类:
编程语言 时间:
2014-12-12 01:22:17
阅读次数:
250
Inversion
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 1898 Accepted Submission(s): 743
Problem Description
bobo has a sequ...
分类:
编程语言 时间:
2014-12-11 12:20:46
阅读次数:
221