在对n个元素进行快速排序的过程中,若每次划分得到左、右两个子区间

题目

在对n个元素进行快速排序的过程中,若每次划分得到左、右两个子区间中元素的个数相等或只差一个,则整个排序过程得到的含有两个或两个元素的区间个数大致为()

  • A、n
  • B、2n
  • C、n/2
  • D、log2n
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在快速排序过程中,每次划分,将被划分的表(或子表)分成左、右两个子表,考虑这两个子表,下列结论一定正确的是________。

A.左、右两个子表都已各自排好序

B.左边子表中的元素都不大于右边子表中的元素

C.左边子表的长度小于右边子表的长度

D.左、右两个子表中元素的平均值相等


正确答案:B
解析:快速排序(又称分区交换排序)的基本方法是:在待排序序列中任取一个记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它大的放在它的后面(右边子表),其余的放在它前面(左边子表),然后分别对左、右两个子表重复上面的操作直到排序完成。由此可知:左边子表中的元素总是不大于右边子表中的元素。

第2题:

快速排序算法是,在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了 ( ) 算法设计策略。已知确定着基准元素操作的时间复杂度为O(n),则快速排序算法的最好和最坏情况下的时间复杂度为 (请作答此空) 。

A.O(n)和O(nlgn)
B.O(n)和O(n2)
C.O(nlgn)和O(nlgn)
D.O(nlgn)和O(n2)

答案:D
解析:
将数据分成若干份,每份单独处理后再合并,其思想为分治。
理想情况下,快速排序每次将数据划分为规模相近的两部分,并递归至不可再划分,因此其时间复杂度为O(nlgn)。在最坏情况下,每次划分都极不均匀,如一个类别中仅有一个元素,另一个类别中包含剩余所有元素。这时划分的复杂度为O(n),次操作的总复杂度为O(n2)。

第3题:

在对n个元素进行快速排序的过程中,最坏情况下需要进行______趟。

A.n

B. n-1

C. n/2

D. log2(下标)n


正确答案:D
解析: 参见快速排序的过程。快速排序法也是一种互换类的排序方法,但由于它比冒泡排序法的速度快,因此称为快速排序法。快速排序法的关键是对线性表进行分割,以及对各分割出的子表再进行分割。

第4题:

假定对元素序列(7, 3, 5, 9, 1, 12, 8, 15)进行快速排序,则进行第一次划分后,得到的左区间中元素的个数为()。

  • A、 2
  • B、 3
  • C、 4
  • D、 5

正确答案:B

第5题:

每次把待排序的区间划分为左、右两个子区间,其中左区间中记录的关键字均小于等于基准记录的关键字,右区间中记录的关键字均大于等于基准记录的关键字,这种排序称为()。

  • A、堆排序
  • B、归并排序
  • C、插入排序
  • D、快速排序

正确答案:D

第6题:

对于具有n个元素的一个数据序列,若只需得到其中第k个元素之前的部分排序,最好采用(63)。

A.堆排序

B.希尔排序

C.快速排序

D.直接插入排序


正确答案:A
解析:对于具有n个元素的一个数据序列,对于只需得到最终序列的前k个元素,堆排序比较简单。对于希尔排序、直接插入排序,只有在排序过程后才能确保全部序列及前k个元素的最终排列。快速排序采用分治算法,常用递归算法实现,该算法根据枢轴元素进行划分,第一趟划分结束后得到了两个子序列,一个序列中的元素均不大于另一个子序列中的元素,枢轴元素介于这两个子序列之间。若仅需得到最终序列的前k个元素,每次得到枢轴元素位置后再考虑下一步的排序过程,在算法的流程控制上比较复杂。

第7题:

通过设置基准(枢轴)元素将待排序的序列划分为两个子序列,使得其一个子序列的元素均不大于基准元素,另一个子序列的元素均不小于基准元素,然后再分别对两个子序列继续递归地进行相同思路的排序处理,这种排序方法称为( )。

A.快速排序
B.冒泡排序
C.归并排序
D.简单选择排序

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

第8题:

通过设置基准(枢轴)元素将待排序的序列划分为两个子序列,使得其一个子序列的元素均不大于基准元素,另一个子序列的元素均不小于基准元素,然后再分别对两个子序列继续递归地进行相同思路的排序处理,这种排序方法称为()。

A、快速排序

B、冒泡排序

C、简单选择排序D、归并排序


正确答案:A

第9题:

对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是()

  • A、选择排序
  • B、直接插入排序
  • C、快速排序
  • D、起泡排序

正确答案:C

第10题:

在对n个元素进行快速排序的过程中,若每次划分得到的左、右两个子区间中元素的个数相等或只差一个,则整个排序过程得到的含两个或两个元素的区间个数大致为()

  • A、n
  • B、n/2
  • C、log2n
  • D、2n

正确答案:B

更多相关问题