对数组A=(2,8,7,1,3,5,6,4)用快速排序算法的划分方法进行一趟划分后得到的数组A为_______非递减排序,以最后一个元素为基准元素)。进行一趟划分的计算时间为________。  

【正确答案】 C
【答案解析】
【正确答案】 C
【答案解析】

试题分析本题考查常用的排序算法,其中快速排序算法具有广泛的应用,考生应该熟练掌握。    题干中明确说明以最后一个元素4作为基准元素。在第一趟划分的过程中,4首先和第一个元素2比较,因为2<4,因此,2和4不交换;4继续和第二个元素8比较,此时8<4,8和4交换,8需要放到数组的最后一个位置,这样可以直接排除选项A、B和D,得到(62)题的正确答案C。继续分析下去,接下来4分别和6、5比较,因为4<6,4<5,不交换;4和3比较,因为4>3,交换4和3的位置,3放到数组的第二个位置;4和7比较,因为7>4,交换4和7的位置,7放到数组的第五个位置;4和1比较,因为4>1,因此4和1交换,1放到第三个位置,4放到第四个位置。此时,划分结束,元素4之前的所有元素小于4,之后的所有元素大于4。    从上面分析的过程可以看出,进行一趟划分需要遍历一遍数组,因此时间复杂度为O(n)。