对序列(49,38,65,97,76,27,13,50)采用快速排序法进行排序,以序列的第一个元素为基准元素得到的划分结果是()

题目

对序列(49,38,65,97,76,27,13,50)采用快速排序法进行排序,以序列的第一个元素为基准元素得到的划分结果是()


相似考题
更多“对序列(49,38,65,97,76,27,13,50)采用快速排序法进行排序,以序列的第一个元素为基准元素得到的划分结果是()”相关问题
  • 第1题:

    在排序法中,( )是从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放入已排序序列的正确位置。

    A.选择排序

    B.快速排序

    C.插入排序

    D.冒泡排序


    正确答案:C

  • 第2题:

    已知某序列为{49,38,65,97,76,13,27},试采用该序列的第1个元素为枢轴进行快速排序,则经过一趟快速排序之后所得到的序列为:【 】。


    正确答案:2713 384965 9776
    2713 384965 9776 解析:快速排序的的思想是:从线性表中选取一元素,如本题中的49,将线性表后面小于46的元素移到前边,而前面大于49的元素移到后边。本题中46是第一个元素,因此只需将线性表后面小于49的元素移到前边。

  • 第3题:

    ● 若总是以待排序列的第一个元素作为基准元素进行快速排序,那么最好情况下的时间复杂度为 (65) 。


    正确答案:C

  • 第4题:

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

    A、快速排序

    B、冒泡排序

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


    正确答案:A

  • 第5题:

    对于一个序列中的若干元素,若想得到某个元素之前的部分排序,最好采用什么排序方法? ( )

    A.快速排序

    B.堆排序

    C.基数排序

    D.希尔排序


    正确答案:B

  • 第6题:

    阅读以下说明和代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】下面的程序利用快速排序中划分的思想在整数序列中找出第 k 小的元素(即 将元素从小到大排序后,取第 k 个元素)。对一个整数序列进行快速排序的方法是:在待排序的整数序列中取第一个数 作为基准值,然后根据基准值进行划分,从而将待排序的序列划分为不大于基准 值者(称为左子序列)和大于基准值者(称为右子序列),然后再对左子序列和 右子序列分别进行快速排序,最终得到非递减的有序序列。例如,整数序列“19, 12, 30, 11,7,53, 78, 25"的第 3 小元素为 12。整数序列“19, 12,7,30, 11, 11,7,53. 78, 25, 7"的第 3 小元素为 7。函数 partition(int a[], int low,int high)以 a[low]的值为基准,对 a[low]、 a[low+l]、…、a[high]进行划分,最后将该基准值放入 a[i] (low≤i≤high),并 使得 a[low]、a[low+l]、,..、A[i-1]都小于或等于 a[i],而 a[i+l]、a[i+2]、..、 a[high]都大于 a[i]。函 教 findkthElem(int a[],int startIdx,int endIdx,inr k) 在 a[startIdx] 、 a[startIdx+1]、...、a[endIdx]中找出第 k 小的元素。【代码】#include #include
    Int partition(int a [],int low, int high){//对 a[low..high]进行划分,使得 a[low..i]中的元素都不大于 a[i+1..high]中的 元素。int pivot=a[low]; //pivot 表示基准元素 Int i=low,j=high;while(( 1) ){While(ipivot)--j; a[i]=a[ j] While(ipivot)++i; a[ j]=a[i]}(2) ; //基准元素定位 return i;}Int findkthElem(int a[],int startIdx,int endIdx, int k){//整数序列存储在 a[startldx..endldx]中,查找并返回第 k 小的元素。if (startldx<0 ||endIdx<0 || startIdx>endIdx || k<1 ||k-l>endIdx||k-1 if (loc==k-1) ∥找到第 k 小的元素return (3) ;if(k-l 小的元素}return 0;}


    答案:
    解析:
    1) CountStr
    2) p[i]
    3) p[i]
    4) num 3、
    1、!i=j
    2、a[i]=pivot
    3、a[loc]
    4、stratIdx,Loc-1
    5、Loc+1,endIdx

  • 第7题:

    对下列4个序列用快速排序方法进行排序,以序列的第1个元素为基准进行划分。在第1趟划分过程中,元素移动次数最多的是()。

    A.70,75,82,90,23,16,10,68
    B.70,75,68,23,10,16,90,82
    C.82,75,70,16,10,90,68,23
    D.23,10,16,70,82,75,68,90

    答案:A
    解析:
    快速排序第一趟划分的方法是:将第1个元素放在最终排好序列的最终位置上,则在这个位置右边小于该元素值的元素都移到其左边,则在这个位置左边小于该元素值的元素都移到其右边。

  • 第8题:

    从未排序的序列中依次取出一个元素与已排序序列中的元素进行比较,然后将其放在已排序序列的合适位置上,该排序方法为( )。

    A.插入排序
    B.选择排序
    C.快速排序
    D.冒泡排序

    答案:A
    解析:
    一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法--插入排序法。

  • 第9题:

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

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

    正确答案:C

  • 第10题:

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

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

    正确答案:C

  • 第11题:

    对下列四个序列进行快速排序,各以第一个元素为基准进行第一次划分,则在该次划分过程中需要移动元素次数最多的序列为()

    • A、  1, 3, 5, 7, 9
    • B、  9, 7, 5, 3, 1
    • C、  5, 3, 1, 7, 9
    • D、  5, 7, 9, 1, 3

    正确答案:D

  • 第12题:

    问答题
    用快速排序算法对序列45,35,65,97,78,13,27进行排序。 (每一趟排序以第一个元素为数轴。要求每一趟排序有完整的过程。)

    正确答案: 第一趟:27,35,65,97,78,13,45;27,35,45,97,78,13,65;27,35,13,97,78,45,65;
    27,35,13,45,78,97,65;
    第二趟:13,35,27,45,78,97,65;13,27,35,45,78,97,65;
    第三趟:13,27,35,45,65,97,78;13,27,35,45,65,78,95;
    解析: 暂无解析

  • 第13题:

    已知某序列为{49,38,65,97,76,13,27},试采用该序列的第一个元素为枢轴进行快速排序,则经过一趟快速排序之后所得到的序列为:【 】。


    正确答案:27 13 38 49 65 97 76
    27 13 38 49 65 97 76 解析:快速排序的思想是:从线性表中选取一元素,如本题中的49,将线性表后面小于49的元素移到前边,而前面大于49的元素移到后边。本题中49是第1个元素,因此只需将线性表后面小于49的元素移到前边。

  • 第14题:

    对序列(70,75,82,90,23,16)用快速排序方法进行排序,以序列的第一个元素为划分的基准。在第一趟划分后数据元素的排列是( )。

    A.16,75,82,90,23,70

    B.16,70,82,90,23,75

    C.16,23,70,90,82,75

    D.16,23,82,90,70,75


    正确答案:A
    解析:本题中进行快速排序时元素的移动如图17-1所示。可知当完成一趟排序后的序列是16,23,70,90,82,75。即选项C是正确答案。

  • 第15题:

    对下列4个序列用快速排序方法进行排序,以序列的第一个元素为划分的基准。在第一趟划分过程中,元素移动次数最多的序列是______。

    A.70,75,82,90,23,16,10,68

    B. 70,75,65,23,10,16,90,82

    C. 82,75,70,16,10,90,68,23

    D. 23,10,16,70,82,75,68,90


    正确答案:A
    解析: 根据快速排序方法的性质,第一趟划分元素,移动次数最多的序列是A。

  • 第16题:

    每趟排序都从序列的未排好序的序列中挑选一个值最小(或最大)的元素,然后将其与未排好序的序列的第一个元素交换位置。此种排序法称为(54)。

    A.插入排序法

    B.选择排序法

    C.希尔排序法

    D.快速排序法


    正确答案:B
    解析:选择排序方法是每一趟排序从未排序的子序列中依次取出元素与已经排好序的序列中的元素进行比较,然后将其与未排好序的序列的第一个元素交换位置。因此选B。

  • 第17题:

    对序列{49,38,65,97,76,13,27,50}采用快速排序方法进行排序,以第一个元素为基准元素得到的划分结果是(55)。

    A.13,27,38,49,76,97,65,50

    B.27,38,13,49,76,97,65,50

    C.27,38,13,49,50,76,65,97

    D.27,13,38,49,76,97,65,50


    正确答案:B
    解析:一趟快速排序的具体做法是:附设两个指针LOW和HIGH,它们的初值分别为LOW和HIGH,设基准记录的关键字为K,则首先从HIGH所指位置起向前搜索找到第一个关键字小于K的记录和基准记录互相交换,然后从LOW所指位置起向后搜索,找到第一个关键字大子K的记录和基准记录互相交换,重复这两步一直到LOW=HIGH为止。由此可推出对于序列{49,38,65,97,76,13,27,50}按照从小到大采用快速排序方法进行排序得到{27,38,13,49,76,97,65,50}。

  • 第18题:

    根据枢轴元素(或基准元素)划分序列而进行排序的是( )。

    A.快速排序
    B.冒泡排序
    C.简单选择排序
    D.直接插入排序

    答案:A
    解析:
    本题考查数据结构与算法基础知识。
    快速排序的基本思想是:通过一趟排序将待排的记录划分为独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再分别对这两部分记录继续进行快速排序,以达到整个序列有序。
    划分时从待排序列中选一个元素作为枢轴元素,将不大于枢轴元素者和不小于枢轴元素者分开。

  • 第19题:

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

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

    答案:A
    解析:
    快速排序的基本思想是,通过一轮的排序将序列分割成独立的两部分,其中一部分序列的关键字(这里主要用值来表示)均比另一部分关键字小。继续对长度较短的序列进行同样的分割,最后到达整体有序。在排序过程中,由于已经分开的两部分的元素不需要进行比较,故减少了比较次数,降低了排序时间。详细描述:首先在要排序的序列a中选取一个中轴值,而后将序列分成两个部分,其中左边的部分b中的元素均小于或者等于中轴值,右边的部分c的元素均大于或者等于中轴值,而后通过递归调用快速排序的过程分别对两个部分进行排序,最后将两部分产生的结果合并即可得到最后的排序序列。

  • 第20题:

    对于具有n个元素的序列采用堆积排序法进行排序,排序的总趟数为n-1。


    正确答案:正确

  • 第21题:

    用快速排序算法对序列45,35,65,97,78,13,27进行排序。 (每一趟排序以第一个元素为数轴。要求每一趟排序有完整的过程。)


    正确答案: 第一趟:27,35,65,97,78,13,45;27,35,45,97,78,13,65;27,35,13,97,78,45,65;
    27,35,13,45,78,97,65;
    第二趟:13,35,27,45,78,97,65;13,27,35,45,78,97,65;
    第三趟:13,27,35,45,65,97,78;13,27,35,45,65,78,95;

  • 第22题:

    一个序列中有10000个元素,若只想得到其中前10个最小元素,则最好采用()方法。

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

    正确答案:B

  • 第23题:

    填空题
    对序列(49,38,65,97,76,27,13,50)采用快速排序法进行排序,以序列的第一个元素为基准元素得到的划分结果是()

    正确答案: 38 27 13 49 65 97 76 50
    解析: 暂无解析