之前创建一个和array数组长度相同的空的辅助数组aux,然后在merge之后将原数组中的待排序列[low>>>high]拷贝到辅助数组aux,设置两个游标i和j分为位于aux[low>>>mid]和aux...递归终止的条件是可以改的,如果在使用递归进行归并排序算法中,可能会遇到大量数据导致递归的使用过于频繁,从而导致性能消耗太大。...所以递归终止条件可以改为子序列长度为N(适量),然后这个子序列可以进行插排或者其它更合适的排序。..., 13, 15, 1, 5, 7, 17]
归并 [1, 3, 5, 7, 9, 11, 13, 15, 17]
[1, 3, 5, 7, 9, 11, 13, 15, 17]
优化:对小规模子数组使用插排...如果数据量太大,可以进行更改递归终止条件,改为处理小规模的问题,这种方法可以改进大多数递归算法的性能
Code
?