Java实现-高效排序算法之归并排序
来源:互联网 发布:snh48 成员家境 知乎 编辑:程序博客网 时间:2024/05/17 04:27
1、归并排序是Java.util.Collections类中包装的排序方法。
2、归并排序的设计思想:是将一个数组的两个有序的部分合并成一个有序数组,其算法的本质也是依靠递归来实现的。
3、归并排序的缺陷:在于需要额外的存储空间来合并数组。在归并排序的过程中必须使用一个临时数组,归并结束后,在将这个临时数组的内容传递给原数组。
4、归并过程的伪代码如下所示:
mergesort(data, first, last)
if first < last
mid = ( last + first )/2;
mergesort( data, first, mid );
mergesort( data, mid + 1, last );
merge( data, first, last );
归并方法(过程)的伪代码:
merge( array, first, last )
mid = ( first + last )/2;
i1 = 0;
i2 = first;
i3 = mid + 1;
while array的左子树和右子树都有元素
if array[i2] < array[i3]
tmp[i1++] = array[i2++];
else
tmp[i1++] = array[i3++];
把array中剩余的元素装入tmp;
将tmp的内容装入array中;
综上:归并排序的主要是递归来实现,关键内容还是对于方法merge()的实现。
排序算法的时间复杂度为O(nlogn)级别,属于稳定的排序方法。
- Java实现-高效排序算法之归并排序
- Java实现排序算法之归并排序
- 排序算法之归并排序java实现
- java实现排序算法之归并排序(2路归并)
- 排序算法之快速排序、归并排序(java实现)
- 算法学习之java实现归并排序
- 归并排序算法之Java实现
- 【java实现】算法导论之归并排序
- Java算法实现之归并排序
- 算法 排序算法之归并排序 java实现
- Java实现-高效排序算法之基数排序
- java实现归并排序算法
- Java归并排序算法实现
- java实现归并排序算法
- java实现归并排序算法
- 归并排序算法Java实现
- 算法-Java实现归并排序
- Java实现-高效排序算法之Shell排序
- Xilinx petalinux 2015.4 试用
- 顺序表应用1:多余元素删除之移位算法
- 理解js中的闭包
- python正则表达式 详解与实例
- 线性表的操作 (2)实现 C = A U B
- Java实现-高效排序算法之归并排序
- 1103. Integer Factorization (30)【搜索+剪枝】——PAT (Advanced Level) Practise
- QT实现五子棋(附源码)
- Vjudge 2016-5-10 math test
- utilities(matlab)—— ZCA 白化
- 图片压缩
- 1104. Sum of Number Segments (20)【数学题】——PAT (Advanced Level) Practise
- android开发笔记之多媒体—Canvas的相关方法
- MyEclipse快捷键