1.時間複雜度為o(nlog(n)),
非降序**:
package com.cn.insertion;
/** * 歸併排序,採用分治法的策略
* @author administrator
* */
public class merge_sort ;
mergesort(a, 0, 9);
for (int i = 0; i < a.length; i++)
} /**
* 先分在和,逐層遞迴
* @param a
* @param p
* @param r
*/public static void mergesort(int a, int p, int r)
}/**
* 歸併函式
* @param a
* @param p
* @param q
* @param r
*/public static void merge(int a, int p, int q, int r)
m[n1] = integer.max_value;//哨兵牌
//儲存q--r段
for (int i = 0; i < n.length - 1; i++)
n[n2] = integer.max_value;//哨兵牌
int i = 0, j = 0;
//歸併的過程,每次去小的那乙個,i, j讓兩個陣列乙隻往後走
for (int k = p; k <= r; k++)
else
} }}
分治法(歸併排序)
分治法.cpp 定義控制台應用程式的入口點。include stdafx.h include include include define max 30 using namespace std int l max int r max void merge int a,int p,int q,int ...
分治法 歸併排序
歸併排序是分治法的典型應用,思想如下 divide divide the array to 2 subarray conquer reverse in 2 subarray,if only one elem return combine merge two ordered subarray t n ...
分治法 歸併排序
分治法的思想就是把乙個難以解決的大問題分解成很多個小規模的問題 分而治之,說實話我不明白和dp的區別 name author 流照君 date 2019 9 13 11 03 29 description include include include include define inf 1001...