ts归并排序算法
归并排序算法(二路归并)
归并算法时间时间复杂度O(n·log n)。
算法采用分而治之策略:
①将目标数组一分为二;
②子序列递归排序;
③合并有序子序列。
分而治之:
为求解一个大规模的问题,可以将其划分为若干子问题(通常为两个,且规模大体相当),分别求解子问题,由子问题的解合并得到原问题的解。
var arr: number[] = [];
for (var i: number = 0; i < 1000; i++) {
arr.push(Math.floor(1000 - i));//生成降序的数组
}
this.mergeSort(arr, 0, arr.length);//调用归并排序算法
拆分数组(分)
private mergeSort(arr: number[