双日练 | 快速排序的递归次数问题

Posted CS优化狮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了双日练 | 快速排序的递归次数问题相关的知识,希望对你有一定的参考价值。

计算机&软件工程考研综合平台


撰稿 | 康康哥

编辑 | 丽丽姐

本文由懂计算机、软件工程的博士师哥提供



采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是(   )

A.  递归次数与初始数据的排列次序无关

B.  每次划分后,先处理较长的分区可以减少递归次数

C.  每次划分后,先处理较短的分区可以减少递归次数

D.  递归次数与每次划分后得到的分区处理顺序无关

 

本题考查:快速排序

快速排序,快速排序(Quicksort)是对冒泡排序的一种改进。


它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

 

A选项,快速排序递归的次数与初始数据的排列顺序有关,若有序,则递归次数增多;递归的越多的说明执行的越多,时间复杂度越高,快排在序列基本有序的情况下的最坏时间复杂度为O(n^2), A选项错误;

 

B、C选项,递归次数与每次划分后得到的分区处理顺序无关,BC选项错误;


故选 D

 

双日练 | 快速排序的递归次数问题
软工博士带你飞
考软工 · 看CS优化狮

以上是关于双日练 | 快速排序的递归次数问题的主要内容,如果未能解决你的问题,请参考以下文章

双日练 | 树转换为二叉树时的分支节点问题

计软考研双日练 | 深度优先遍历图的方法是什么?

双日练 | 二叉树结点计算

双日练 | 二叉树的存储

计软考研双日练 | 线索二叉树

计软考研双日练 | 广度优先遍历和深度优先遍历有什么不同