归并排序算法对n个记录的集合进行排序,其平均时间复杂度和所需附加空间分别是多少?
答案解析
归并排序是一种分治算法,它将数组分成两半,递归地对它们进行排序,然后合并排序好的两半。其平均时间复杂度是O(nlogn),因为它需要进行logn次分割和合并操作,每次操作的时间复杂度是O(n)。归并排序需要额外的空间来存储临时数组,因此所需的附加空间是O(n)。选项B正确地描述了这些特性。选项A、C和D给出了错误的时间复杂度或空间复杂度。
正确答案:B