void mergesort(int a[],int i,int j){ int m; if(i!=j) { m=(i+j)/2; mergesort(a,i,m); mergesort(a,m+1,j); merge(a,i,j,m); }}求mergesort(a,0,n-1)的时间复杂度,其中,merge(a,i,j,m)用于两个有序子序列a[i..m]和a[m+1..j]的合并,是非递归函数调用,它的时间复杂度为O(合并的元素个数)?我先计算 mergesort(a,i,m);再计算 mergesort(a,m+1,j);和 merge(a,i,j,m);发现和答案不一样。看了看答案的解题思路,又一知半懂。。能给出详细的过程吗??非常感谢!!!!!数据结构比我想象的难多了。