通常,mergesort是通过将序列分成两半并递归排序来执行的.但是也可以通过将序列除以第三个来执行mergesort吗?
mergesort(array, start, last) {
tri_mid = (start+last)/3;
mergesort(array, start, tri_mid);
mergesort(array, tri_mid+1, last);
merge(array, start, last);
}
Run Code Online (Sandbox Code Playgroud)
这会有用吗?如果确实如此,那么bigO符号会是什么?
mergesort ×1