快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了( 此空作答 )算法设计策略。已知确定着基准元素操作时间复杂度为 O(n) ,则快速排序算法最好和最坏情况下时间复杂度为()。
- A.分治
- B.动态规划
- C.贪心
- D.回溯
正确答案及解析
正确答案
A
解析
将数据分成若干份,每份单独处理后再合并,其思想为分治。 理想情况下,快速排序每次将数据划分为规模相近两部分,并递归至不可再划分,因此其时间复杂度为 O(nlgn) 。在最坏情况下,每次划分都极不均匀,如一个类别中仅有一个元素,另一个类别中包含剩余所有元素。这时划分复杂度为 O(n) , ” 次操作总复杂度为 O(n2)





