排序算法-归并排序MergetSort
2021-06-05 00:05
标签:sys 一个 size class 技术 lazy 方向 java sort 归并排序介绍 一种分而治之思想 归并排序步骤 从下往上的归并排序(自下而上的迭代) 从上往下的归并排序(自上而下的递归):它与"从下往上"在排序上是反方向的。它基本包括3步: 时间复杂度 平均时间复杂度 O(nlogn) 最坏时间复杂度 O(nlogn) 最好时间复杂度 O(nlogn) 该算法数据稳定 伪代码 代码 参考:https://www.cnblogs.com/skywang12345/p/3602369.html 排序算法-归并排序MergetSort 标签:sys 一个 size class 技术 lazy 方向 java sort 原文地址:https://www.cnblogs.com/youngst/p/14639145.html
① 分解 -- 将当前区间一分为二,即求分裂点 mid = (low + high)/2;
② 求解 -- 递归地对两个子区间a[low...mid] 和 a[mid+1...high]进行归并排序。递归的终结条件是子区间长度为1。
③ 合并 -- 将已排序的两个子区间a[low...mid]和 a[mid+1...high]归并为一个有序的区间a[low...high]。function mergeSort
if left
package Sort;
import java.util.Arrays;
public class MergeSort2 {
public static void main(String[] args) {
int[] arr = {10,-1,-3,13,234,35,-9,3};
System.out.println(Arrays.toString(arr));
int[] temp= new int[arr.length];
mergeSort(arr,0,arr.length-1,temp);
System.out.println(Arrays.toString(arr));
}
public static void mergeSort(int[] arr,int left,int right,int[] temp){
if(left
下一篇:HTML 列表标签的学习
文章标题:排序算法-归并排序MergetSort
文章链接:http://soscw.com/index.php/essay/90635.html