Java实现排序算法之归并排序
2015-08-08 15:56
363 查看
一、综述
归并排序(Merge sort,台湾译作:合并排序)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide
and Conquer)的一个非常典型的应用。
算法描述
归并操作的过程如下:
申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列
设定两个指针,最初位置分别为两个已经排序序列的起始位置
比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置
重复步骤3直到某一指针达到序列尾
将另一序列剩下的所有元素直接复制到合并序列尾
平均算法复杂度是O(nlog2n),最好最坏都是这个。下面用Java实现一个归并排序,并用在使用辅助数组上做了小小的改进。
二、Java实现堆排序
三、结果检验
归并排序(Merge sort,台湾译作:合并排序)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide
and Conquer)的一个非常典型的应用。
算法描述
归并操作的过程如下:
申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列
设定两个指针,最初位置分别为两个已经排序序列的起始位置
比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置
重复步骤3直到某一指针达到序列尾
将另一序列剩下的所有元素直接复制到合并序列尾
平均算法复杂度是O(nlog2n),最好最坏都是这个。下面用Java实现一个归并排序,并用在使用辅助数组上做了小小的改进。
二、Java实现堆排序
三、结果检验
相关文章推荐
- Java--equals 和 ==
- JAVA中三种URL连接方法
- Struts2 入门教程
- springmvc的数据校验
- java运行内存结构
- Java--引用与指针
- Calendar日历类,Date类
- java里的分支语句--程序运行流程的分类(顺序结构,分支结构,循环结构)
- 什么是Java集合API?
- java之进程理解
- Java程序运行机制及运行过程
- 深入浅出Java回调机制
- JAVA String常见问题
- MyEclipse10 安装
- Java--装箱,拆箱
- Java--枚举
- java中使用MD5进行加密
- 关于Spring MVC中的表单标签库的使用
- Java注解教程:自定义注解示例,利用反射进行解析
- Spring-MVC jsp导入excel到数据库