【算法分析】
定义 DivideDivideDivide 函数对 aaa 数组递归的进行划分输出,参数有 aaa 数组,lll、rrr,lll 和 rrr 分别表示划分前的第一个位置和最后一个位置。
递归的结束条件是划分到只有一个元素时:l >= r。
int mid = (l + r) / 2;,midmidmid 为划分的中间位置,先输出前半部分 lll~midmidmid,再输出后半部分 mid+1mid+1mid+1~rrr。然后划分前半部分并输出:Divide(a, l, mid);,再划分后半部分并输出:Divide(a, mid + 1, r);。
【参考代码】
【时间复杂度】
O(log2n)O(log_2n)O(log2 n)
【预计得分】
100pts100pts100pts