10、考虑以下C++代码实现的归并排序算法:


对长度为n的数组arr,调用函数merge_sort(a, 0, n-1) ,在排序过程中merge函数的递归调用次数大约是 ( )。

别灰心,再试一次!

💡 真题解析

【答案】B

【考纲知识点】归并排序

【解析】merge_sort函数的作用是递归进行分治的过程,每次把序列分成两半,然后分别处理,merge函数的作用是把两个有序序列,通过双指针操作,合并为一个有序序列。merge函数的调用次数,先是两个数的合并,执行次数为n/2,然后是4个数合并,执行次数为n/4……大约为O(n)